iOS逆向之旅 — 总纲

目录

逆向杂谈

学习iOS逆向的用处

学习路线


逆向杂谈

因为我大学期间开发游戏外挂,对于逆向的强大有过不小的认识。能让别人的代码照着自己的思路去走,感觉是蛮优秀的一件事。所以带着好奇心去研究了iOS逆向。对于iOS逆向,很多人只听过《IOS应用逆向工程》,单纯通过书籍还有杂乱的博文,想要入门还是挺难的。其实iOS逆向没想象中那么难,只要我们找到方法。你想想【游戏外挂】只是单纯凭借C++基础/数据结构去逆向一个大型网游,而现在我们有过正向iOS开发经验,逆向苹果App,难度可想而知降了多少。

我们正常的开发是从代码->UI/功能,逆向就是从UI/功能反推回代码。这段时间断断续续学了不少iOS逆向的知识,准备好好整理一遍,分享出来,如有错误欢迎指正!

 

学习iOS逆向的用处

   我简单梳理了一下,iOS逆向能做的事~~

  • 了解iOS的底层实现
  • 破解别人的软件,实现各种变态的功能(获取隐私数据、微信抢红包、钉钉打卡等等...)
  • 保护自己的代码,隐藏隐私数据,隐藏函数
  • 上马甲包
  • 分析别人的代码架构 - 这个需要你有一定的架构知识

听起来好像很屌样子

 

学习路线

  • 基础篇

    • 汇编 (这块比较枯燥,如果你只是想简单了解逆向的话,可以先跳过后面觉得需要再看)

      • iOS逆向之旅(基础篇) — 汇编(一)— 汇编基础 

      • iOS逆向之旅(基础篇) — 汇编(二) — 汇编下的 IF语句

      • iOS逆向之旅(基础篇) — 汇编(三) — 汇编下的 Switch语句

      • iOS逆向之旅(基础篇) — 汇编(四) — 汇编下的函数

      • iOS逆向之旅(基础篇) — 汇编(五) — 汇编下的Block 

    • 基础知识掌握(Macho文件基础、ASLR、App的签名机制)

      • iOS逆向之旅(基础篇) — Macho文件

      • iOS逆向之旅(基础篇) — App的签名机制【Xcode是如何将App安装到手机的】​​​​​​​

  • 进阶篇

    • 对第三方App重签名的方法

      • 连载中...

    • 常用工具的使用(class-dump、restore-symbol、lldb)

    • 如何向第三方App注入自己的代码

    • HOOK(method_exchange、fishHook、logos)

  • 越狱篇

    • 越狱环境下的配置SSH,并支持USB调试

    • Cycript的使用

    • 砸壳

    • Theos插件的开发

    • LLDB调试

  • 防护篇

    • Theos插件的原理及防护手段

    • LLDB的原理及防护手段

    • 如何调用系统级别函数进行反调试

    • 如何防护Monkey

    • 隐私数据加密,防止被静态分析

    • 代码混淆及浅谈上架马甲包的经验

  • 项目篇

    • 微信抢红包

    • 钉钉远程打卡

 

后续的文章会慢慢的分享出来,目的只是为了扎实基础,技术分享

 

 

 

 

 

 

你可能感兴趣的:(iOS,逆向)