iOS砸壳(dumpdecrypted)
1.环境准备
a.越狱设备一台,我这手上的是iPhone 5s,系统版本是8.4
b.Cycript Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cycript 混合了Objective-C javascript语法的解释器,这意味着我们能够在一个命令中用Objective-C或者javascript,甚至两者兼用。它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。Cycript的安装简单,可在越狱设备上从Cydia搜索Cycript并安装即可
IMG_4783.PNGc.越狱设备打卡Cydia搜索安装OpenSSH。
IMG_4782.PNGd.打开Mac 终端 ,下载dumpdecrypted工具源码,git clone dumpdecrypted
Paste_Image.png然后 cd 到dumpdecrypted
源码所在目录,执行make命令,编译生成砸壳工具dumpdecrypted.dylib
。
2.砸壳,这里是以微信
为实验对象
打开Mac终端,使用ssh链接到越狱设备,默认的密码是:alpine
,这里注意要保证你的越狱设备与Mac是在同一网段内。
ssh root@设备的ip地址 (这里是一个🌰:ssh root@192.168.2.3)
Paste_Image.png
a.使用ps
命令找出目标进程路径
登录上越狱设备后,在越狱设备上运行需要砸壳的对象,使用ps
命令查看进程,懂Linux的小伙伴不用我解释了吧,不懂Google。执行ps -e
命令后终端
会显示越狱设备当前运行的所有进程,找到需要砸壳的应用,记录下路径和编号。本文以微信为🌰:搜索微信应用名的关键字WeChat
,那么我是怎么知道微信应用名的呢?很简单,把越狱设备上所有应用都关掉,只留下你想要砸壳的那个应用,这样使用ps -e
打印出来就会只有目标应用了。
iPhone-5:~ root# ps -e
1091 ?? 0:03.35 /var/mobile/Containers/Bundle/Application/A5960257-7E26-45EC-A28C-315FCBB15852/WeChat.app/WeChat
Paste_Image.png
b.使用Cycript
找出目标应用的 Documents 目录路径
用Cycript
查找应用的Documents 目录了:命令行中输入 cycript -p WeChat
然后在输入NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]
命令,最后就能打印出Documents 目录路径了。
(🌰这个是我是手机上微信的Documents路径:/var/mobile/Containers/Data/Application/05330136-5902-48C1-96A6-3C03F275DC73/Documents)
拿到我们想要的路径后使用
Ctrl + D
退出Cycript
模式
c.将步骤1中生成的dumpdecrypted.dylib
拷贝到目标应用的Documents 目录下
打开新的终端
,在终端中输入以下命令:
$scp ~/dumpdecrypted.dylib root@192.168.2.3:/var/mobile/Containers/Data/Application/05330136-5902-48C1-96A6-3C03F275DC73/Documents
注意ip地址换成自己的手机的ip,dumpdecrypted.dylib 路径换成你自己的路径
Paste_Image.png
*d.开始使用dumpdecrypted.dylib砸壳
Mac 终端ssh 连上 越狱设备,然后在终端上输入以下命令:
$ cd /var/mobile/Containers/Data/Application/05330136-5902-48C1-96A6-3C03F275DC73/Documents
$ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/A5960257-7E26-45EC-A28C-315FCBB15852/WeChat.app/WeChat
Paste_Image.png
Paste_Image.png
注意上条命令格式: DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib路径
空格
目标进程路径
以上命令执行完成后,在目标应用的Documents目录下生成一个WeChat.decrypted
文件, 这就是砸壳后的文件。ls -l
查看 Documents
目录结构
e.将目标应用的Documents目录下的WeChat.decrypted
拷贝到Mac上
Mac打开新的终端
,输入以下命令:
$scp root@192.168.2.3:/var/mobile/Containers/Data/Application/05330136-5902-48C1-96A6-3C03F275DC73/Documents/WeChat.decrypted ~/dumpdecrypted
Paste_Image.png
将WeChat.decrypted
拷贝到Mac上 ~/dumpdecrypted 文件中。至此,iOS ipa 的整个解密流程就走下来了。下一篇文章将介绍使用class-dump 将ipa头文件导出。