IOSios逆向

iOS 逆向开发(二)砸壳/脱壳-Clutch、dumpdecr

2020-04-17  本文已影响0人  lilei5

iOS逆向系列:

1、iOS 逆向开发(一)界面分析 - Cycript&Reveal
2、iOS 逆向开发(二)砸壳/脱壳-Clutch、dumpdecrypted
3、iOS 逆向开发(三)代码分析-dump-class/Hopper Disassmbler


appStore下载的ipa文件是经过加密(加壳)的,我们只有先通过破解才能对app的二进制文件进行操作,这个过程称为:砸壳/脱壳。


查看二进制文件是否已砸壳

砸壳/脱壳

这里推荐两种方式:

  1. Clutch
    • 下载Clutch
    • 将版本号去掉,进入下载目录在终端执行chmod +x Clutch,然后将Clutch通过爱思助手拷贝到usr/bin文件夹里。如下图:
  1. dumpdecrypted
    • 下载dumpdecrypted,然后在下载的目录里执行make指令,获取dylib文件.

    • dylib文件拷贝到iPhone的/var/root目录里

    • 在Mac上通过ssh 登录手机,ps -A 找到要砸壳的app安装位置

    • 进入var/root目录,DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib app文件路径

    • 成功后会在/var/root得到.decrypted文件,这个就是脱壳后的可执行文件,将后缀去掉,导出电脑即可。


通过上述两种砸壳方式的到的二进制文件,我们再来通过otool -l WeChat | grep cryptid查看下它是否已经砸壳成功.结果cryptid0,砸壳成功。


遇到的问题:

Zipping tingTodayEx.appex
Writing new checksum
FAILED: <ting bundleID: com.gemd.iting>
Finished dumping com.gemd.iting in 41.9 seconds
dyld: Symbol not found: ___chkstk_darwin 
Referenced from: dumpdecrypted.dylib 
Expected in: /usr/lib/libSystem.B.dylib 
in dumpdecrypted.dylib

我们砸壳成功后获取到的 二进制文件,我们就可以分析它的代码了(头文件,伪代码实现等),我们在下篇文章继续说。

上一篇 下一篇

猜你喜欢

热点阅读