逆向-ios-工具说明
IOS逆向工具说明
- General
- 1.1. 查看是否加固 (otool -l XXX | grep crypt)
- 1.2. 查看CPU架构 (lipo -info XXX)
- 1.3. 砸壳工具
- 1.3.1. Dumpdecrypted砸壳
- 1.3.2. Clutch
- 1.3.3. frida-ios-dump
- 首次IOS逆向
- 2.1. 刷机工具
- 2.2. 越狱后常用的工具
- 2.3. mac端常用工具
- 2.4. 抖音越狱案例
- 2.5. debugserver 动态调试
- 首次IOS逆向
- IOS 逆向流程总结
- 批量刷机经历
- 4.1. uncOver (12 到 13.5)
- 4.2. checkra1n 最新版 (13.5及以后)
- 4.3. cd /private/var/mobile/Media/general_storage/iOS13/
- 4.4. chmod +x install.sh
1. General
常用工具命令积累
1.1. 查看是否加固 (otool -l XXX | grep crypt)
1.2. 查看CPU架构 (lipo -info XXX)
1.3. 砸壳工具
1.3.1. Dumpdecrypted砸壳
- 下载编译dumpdecrypted
- 找到Documents目录,拷贝到其下
- cycript -p pid
- 注入dylib
- 指定Bundle id注入
1.3.2. Clutch
clutch -b BundleId
- scp Clutch-2.0.4 root@192.168.1.168:/usr/bin/
- chmod +x Clutch-2.0.4
- Clutch-2.0.4 -i
- Clutch-2.0.4 -d 2
- Clutch-2.0.4 -b com.ss.iphone.ugc.Aweme
1.3.3. frida-ios-dump
- 准备好安装好frida的手机,这一步比较坑,系统,越狱工具,Frida版本都要考虑
- iproxy 2222 22 (brew install usbmuxd)
- python dump.py -l (咋壳ipa)
2. 首次IOS逆向
2.1. 刷机工具
checkra1n (注意版本) 目前我的手机是12.4.8系统 用的checkra1n version beta 0.9.7
2.2. 越狱后常用的工具
OpenSSH
APPStroe++ 应用降级 (可以安装低版本软件) 注意要关闭app store 的自动跟新,不然会失效
Substrate Safe Mode (越狱手机下动态库位置)
Cycript (动态调试相关)
* cycript -p pid
* [[NSBundle mainBundle] bundleIdentifier]
*
frida 安装(注意:我的12.4.8手机安装frida 是12.6.16. 安装命令是:dpkg -i xxx.deb)
2.3. mac端常用工具
Transmit
2.4. 抖音越狱案例
- 代码编译 需要证书和秘要(注意秘要时间)
- 找到aweme.dylib 放入到手机/Library/MobileSubstrate下
- /Library/MobileSubstrate 同目录下编写aweme.plist 文件
- 下载 * external_identifier: “834078818”, //9.2.1 这个版本抖音安装(APPStroe++ 协助完成 manual instal)
2.5. debugserver 动态调试
- 随便使用xcode运行应用,会在ios 端 /Developer/usr/bin 下生成一个debugserver
- 拷贝出debugserver 重新签名
- ldid -e debugserver > debuger.entitlements
- 使用Xcode添加权限 get-task-allow,task_for_pid-allow 为yes
- ldid -Sdebuger.entitlements debugserver 使权限生效
- scp -r debugserver root@10.15.32.45:/usr/bin/
- 注意剔除某些多余的权限 com.apple.security.network.server com.apple.security.network.client seatbelt-profiles
- ps -A
- debugserver 127.0.0.1:1234 -a Aweme
- proxy 12343 1234
- lldb (process connect connect://127.0.0.1:12343)
- po [AWEIMMessageConversation _shortMethodDescription] 打印header
- br s -a 0x105cbdcf4 下断点
- c 继续执行,点击触发
3. IOS 逆向流程总结
应用砸壳 dumpdecrypted cluth frida-ios-dump
用class-dump 导出头文件 ./../../class-dump-3.5/class-dump Aweme -H -o Header
用cycript定位广告view
用lldb调试,找出 调用位置
追溯跳用逻辑,理清广告加载逻辑
用hook插件改变逻辑