iOS典型逆向开发流程
典型的iOS逆向开发的流程是:
- 先:iPhone越狱- 越狱工具- unc0ver
- checkra1n
 
 
- 越狱工具
- 再:逆向破解某iOS的app- 对于要研究的某个iOS的app来说,从工作内容角度,主要分:- 从AppStore中搜索和安装正版app
- ipa- 砸壳得到ipa- frida-ios-dump
 
- 或者直接从网上搜索某版本的ipa
 
- 砸壳得到ipa
- 再去研究- 静态分析- 字符串分析- strings
- nm
- otool
 
- 查看详情- MachOView
- jtool2
- rabin2
 
- 导出头文件- class-dump
 
- 恢复符号表- restore-symbol
 
- 分析代码逻辑- IDA- 汇编代码
- 伪代码
 
 
- IDA
 
- 字符串分析
- 动态调试- 调试代码逻辑- 命令行方式- debugserver + lldb
 
- GUI图形界面方式- Xcode + MonkeyDev- lldb- 插件- chisel
 
 
- 插件
 
- lldb
 
- Xcode + MonkeyDev
- 其他调试工具- frida
 
 
- 命令行方式
- 分析界面元素- Reveal
- Cycript
 
 
- 调试代码逻辑
 
- 静态分析
- 再去调试和验证- 写hook插件- iOSOpenDev
 
- 加断点调试,验证代码是否运行到
- 如此反复静态分析和动态调试的过程
 
- 写hook插件
 
- 最后结果:得到一个插件tweak,实现了你要的目的- 比如反越狱检测、改机、hook某个app的某些特定功能(比如微信抢红包)等等
 
 
- 对于要研究的某个iOS的app来说,从工作内容角度,主要分: