一张图
之前在http://www.iosre.com/ 上看到的,我觉得整个学习思路非常清晰:
![102779d234d83f0e22d7aaca613d5a43.png](https://img-blog.csdnimg.cn/img_convert/102779d234d83f0e22d7aaca613d5a43.png)
一些常用的工具
- 砸壳:越狱市场/clutch/dumpdecryted
- 加壳:对可执行文件的编码进行改变/加密/压缩,达到保护程序代码的目的。App Store下载的ipa包是会加壳的
- 脱壳/砸壳:将未加密的可执行文件还原出来
- 头文件:class-dump/MonkeyDev
- class-dump:将Mach-O文件的.h导出。对Mach-O文件操作
- 界面分析:reveal,cycript,lldb+chisel,MachOView
- cycript:可以调试、修改正在运行的app
- reveal:没了解过逆向的同学应该也知道,但是看身边的开发,用的人其实并不多,个人觉得利用好这个工具对开发效率提升非常显著,特别是对某些组件或者代码并不熟悉的时候,能快速定位view所在的文件及层级结构
- 架构分离:lipo
- 通用二进制文件:同时使用多种架构的二进制文件。导出特定架构的独立的二进制文件