iOS逆向----砸壳

操作环境
  • iPhone6 Plus(系统8.1)越狱机
  • MacBook Pro(系统10.12.5)
在越狱iPhone上安装Cycript

越狱手机上在Cydia中搜索Cycript安装即可,也可以在MAC端通过SSH连接手机,然后用软件包管理工具apt-get(需要在Cydia搜索APT 0.6Transitional来安装 )使用apt-get install cycript命令来安装cycript。

在MAC上安装class-dump

下载工具class-dump,class-dump可以把Objective-C运行时的声明信息导出为.h文件,下载地址:http://stevenygard.com/projects/class-dump/
把下载下来的class-dump脚本复制到到/usr/local/bin下
然后在终端执行class-dump试验一下,执行class-dump能看到下面的页面就说明安装成功了

iOS逆向----砸壳_第1张图片

准备dumpdecrypted砸壳工具

下载最新源码:git clone https://github.com/stefanesser/dumpdecrypted.git
查看更新日志git log
用vim查看文件内容(在vim下用 :set number 命令显示行数,用 :q 命令退出vim模式):vim dumpdecrypted.c
编译动态库文件(即把dumpdecrypted.c编译成dumpdecrypted.dylib): make

开始砸壳
第一步:分别找到两个地址:

需要用到的命令:

  • ssh [email protected] (IP地址为越狱设备的IP地址)
  • ps -e TargetApp (定位要砸壳的StoreApp的执行文件名字TargetApp)
  • cycript -p TargetApp
    [[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
    (定位要砸壳的StoreApp的Document目录)
第二步:拷贝dumpdecrypted.dylib 到App的Documents目录

需要用到的命令

  • scp dumpdecrypted.dylib [email protected]:/var/mobile/Containers/Data/Application/CA45D47A-33FD-4DD8-A115-B08E8F33DD37/Documents
第三步:把动态库dumpdecrypted.dylib注入到微信的进程空间

需要用到的命令
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/C4DAE2A1-6784-4077-BE0A-F6A9EA6BE76D/WeChat.app/WeChat
然后会生成砸壳后的文件WeChat.decrypted

第四步:把砸壳后的文件拷贝到MAC

用到的命令

  • scp [email protected]:/var/mobile/Containers/Data/Application/CA45D47A-33FD-4DD8-A115-B08E8F33DD37/Documents/WeChat.decrypted ~/Desktop/
第五步:使用class-dump导出头文件

用到的命令

  • class-dump -s -S -H WeChat.decrypted -o ./WCHeaders (新建WCHeaders文件夹,并把头文件放入到WCHeaders中)
  • cd WCHeaders/ (进入到WCHeaders文件夹)
  • ls -lR|grep "^-"|wc -l (查看文件的个数,包括子文件夹里面的)
  • ls -lR|grep "^d"|wc -l (查看文件夹的个数,包括子文件夹里面的)

你可能感兴趣的:(iOS逆向----砸壳)