逆向-ios-工具说明

逆向-ios-工具说明

IOS逆向工具说明

    1. 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
    1. 首次IOS逆向
      • 2.1. 刷机工具
      • 2.2. 越狱后常用的工具
      • 2.3. mac端常用工具
      • 2.4. 抖音越狱案例
      • 2.5. debugserver 动态调试
    1. IOS 逆向流程总结
    1. 批量刷机经历
    • 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砸壳

  1. 下载编译dumpdecrypted
  2. 找到Documents目录,拷贝到其下
    • cycript -p pid
  3. 注入dylib
  4. 指定Bundle id注入

1.3.2. Clutch

clutch -b BundleId

  1. scp Clutch-2.0.4 root@192.168.1.168:/usr/bin/
  2. chmod +x Clutch-2.0.4
  3. Clutch-2.0.4 -i
  4. Clutch-2.0.4 -d 2
  5. Clutch-2.0.4 -b com.ss.iphone.ugc.Aweme

1.3.3. frida-ios-dump

  1. 准备好安装好frida的手机,这一步比较坑,系统,越狱工具,Frida版本都要考虑
  2. iproxy 2222 22 (brew install usbmuxd)
  3. 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. 抖音越狱案例

  1. 代码编译 需要证书和秘要(注意秘要时间)
  2. 找到aweme.dylib 放入到手机/Library/MobileSubstrate下
  3. /Library/MobileSubstrate 同目录下编写aweme.plist 文件
  4. 下载 * external_identifier: “834078818”, //9.2.1 这个版本抖音安装(APPStroe++ 协助完成 manual instal)

2.5. debugserver 动态调试

  1. 随便使用xcode运行应用,会在ios 端 /Developer/usr/bin 下生成一个debugserver
  2. 拷贝出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
  3. ps -A
  4. debugserver 127.0.0.1:1234 -a Aweme
  5. proxy 12343 1234
  6. lldb (process connect connect://127.0.0.1:12343)
  7. po [AWEIMMessageConversation _shortMethodDescription] 打印header
  8. br s -a 0x105cbdcf4 下断点
  9. c 继续执行,点击触发

3. IOS 逆向流程总结

应用砸壳 dumpdecrypted cluth frida-ios-dump
用class-dump 导出头文件 ./../../class-dump-3.5/class-dump Aweme -H -o Header
用cycript定位广告view
用lldb调试,找出 调用位置
追溯跳用逻辑,理清广告加载逻辑
用hook插件改变逻辑

4. 批量刷机经历

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