脱壳工具 | iOS逆向

脱壳工具

  • 这里只讲两种脱壳工具的使用
  • 前提条件:知道什么是壳
  • 目的就是使用脱壳工具拿到我们想要的可执行文件

一、Clutch

  • 这个砸壳工具相对来说比较简单,

https://github.com/KJCracks/Clutch/releases

1.在上述地址中下载最新的Clutch(注意不要下zip源码,直接下上面的)

2.将Clutch 放到手机的 /usr/bin 目录下 (可以使用iFunBox,也可以使用scp)

3.chmod a+x ./Clutch 赋予Clutch可执行权限

4.Clutch -i 命令 可以查看能被脱壳的app,以及app对应的编号

5.Clutch -d 1 (命令格式是 Clutch -d + app编号)

6.脱壳完毕会输出脱壳后的地址,找到它,使用iFunBox或者scp拷贝出来

图片

二、dumpdecrypted

1.命令行到对应的下载目录下执行make,下载过来的文件夹会有makefile文件,执行过后会生成dumpdecrypted.dylib

2.执行过后生成的脱壳文件并能直接使用,需要使用:(1).security find-identity -v -p codesigning (2).codesign –force –verify –verbose –sign “iPhone Developer:” dumpdecrypted.dylib 两条命令,第一条查看哪些可用来签名,第二条对dumpdecrypted.dylibg工具重签名

3.将动态库文件拷贝到 /var/root 里面

4.使用ps -A 命令查看当前运行的程序,并且找到想要脱壳的程序(例如:一大串地址/TargetApp)

5.配合 cycript -p TargetApp 进到app,再使用[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0],查看欲脱壳程序的位置

6.执行:DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/60440AF2-FCE6-49F8-9D79-376D98A6DCBC/Starbucks.app/TargetApp ,/var/cont… 这部分为查找到的程序路径

7.当前文件夹下会生成“TargetApp.decrypted”,这个就是脱壳后的可执行文件

接下去想怎么玩怎么玩。。。