首先介绍下这俩个工具的做用:
架构
dumpdecrypted.dylib: 自己是一个动态库, 经过它给App的可执行文件砸壳.
app
class-dump: 给砸壳后的可执行文件导出头文件.
ssh
下面介绍下使用流程, 咱们以腾讯视频为例子:iphone
0. 默认在苹果商店下载的app是加密了的, 可使用 otool -l 可执行文件路径 | grep cryptid 查看, 若是是1表明是加密的, 若是是0则是没有加密.工具
1. 经过OpenSSH链接到手机, 输入密码默认是alpine ssh root@192.168.1.101加密
2. 把用不到的App退出, 打开腾讯视频, 而后在终端执行 ps -e 查看当前手机进程, 而后找到腾讯视频的进程, 进入到腾讯视频的进程并记录当前的文件目录(其实就是可执行文件的目录)3d
/var/mobile/Containers/Bundle/Application/21399F3D-94F9-4253-9C43-F71744AA515A/live4iphone.app/live4iphone
cdn
执行命令后看到以下标志就证实进入成功视频
3. 执行 NSHomeDirectory() 获取当前的Documents文件目录, 并把咱们的砸壳工具放入这个目录下 (/var/mobile/Containers/Data/Application/719D0845-A8BB-4ADD-AF30-598272A4D3D7/Documents/) blog
看到以下截图就成功了:
4. cd到咱们的Documents文件下执行咱们的砸壳操做命令 DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/21399F3D-94F9-4253-9C43-F71744AA515A/live4iphone.app/live4iphone
下面就是成功的截图, 这时去可执行文件目录下看看, 你就发现会多一个 live4iphone.decrypted 的文件 , 这个就是咱们砸壳后的文件
5. 把砸壳获得的文件保存到电脑桌面上
scp root@192.168.1.101:/var/mobile/Containers/Data/Application/719D0845-A8BB-4ADD-AF30-598272A4D3D7/Documents/live4iphone.decrypted ~/Desktop/live4iphone.decrypted
而后就等着吧, 这里若是网速很差也可使用PP助手直接拉到桌面上也能够.
这样就成功了:
6. 而后就可使用class-dump进行导出操做了
class-dump --arch arm64 破解的文件路径 -H -o 要存放的目录路径 (加 arm64的目的是指定dump的目标可执行文件的架构, 由于砸壳不是把可执行文件的全部架构都进行砸壳, 而是对其中手机当前架构的可执行文件进行砸壳)
执行后就发现多了不少.h文件, 这说明咱们成功了.
错误解析:
上图错误通常就是cd到的路径不对, 正常应该cd到 Documents文件下.
上图错误通常是dumpdecrypted.dylib 签名问题, 须要从新签名便可.
好了到这里就结束了, 其实没什么难度的, 只是网上的资料比较零散, 因此找起来耗费时间, 这里我都写在一块儿了, 之后用到的时候看一下就能够了.