iOS砸壳(dumpdecrypted)

作者: 涵元 | 来源:发表于2016-12-24 14:09 被阅读1235次
1.环境准备

a.越狱设备一台,我这手上的是iPhone 5s,系统版本是8.4

b.Cycript Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cycript 混合了Objective-C javascript语法的解释器,这意味着我们能够在一个命令中用Objective-C或者javascript,甚至两者兼用。它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。Cycript的安装简单,可在越狱设备上从Cydia搜索Cycript并安装即可

IMG_4783.PNG

c.越狱设备打卡Cydia搜索安装OpenSSH

IMG_4782.PNG

d.打开Mac 终端 ,下载dumpdecrypted工具源码,git clone dumpdecrypted

Paste_Image.png

然后 cd 到dumpdecrypted源码所在目录,执行make命令,编译生成砸壳工具dumpdecrypted.dylib

Paste_Image.png
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 目录路径了。

Paste_Image.png
(🌰这个是我是手机上微信的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目录结构

Paste_Image.png
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头文件导出。

相关文章

网友评论

  • 演讲与写作:这个必须顶,顶到你蒙圈蒙圈的;
    这个必须赞,赞到你不要不要的。
  • PotterSun:请问这个砸完包后怎样拿着WeChat.decrypted 重新打包呢,楼主可不可以分享一下
  • 0a94c40e882a:xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH 按照教程,报如下错误:sob:
    0a94c40e882a:原来我的xcode版本并没有PackageApplication这个程序,找旧版本的放回原处即可
  • tuyw:感谢分享

本文标题: iOS砸壳(dumpdecrypted)

本文链接:https://www.haomeiwen.com/subject/hdqvmttx.html