
一、前提介绍
1,有些从 APPStore 商店下载安装的APP 默认都被苹果加了一层壳,加了壳后我们就无法使用dump导出头文件等其它操作,多亏了大神给我们提供了工具Dumpdecrypted让我们能够砸了这个壳。
编译后的Dumpdecrypted工具的下载地址:
https://github.com/DaSens/Crack-file
使用的脚本下载地址
https://github.com/DaSens/Theos-Script
二、总结步骤
1,设备中打开需要砸壳的APP。
2,SSH连接到手机,找到ipa包的位置并记录下来。
3,Cycript附加到进程,找到App的Documents文件夹位置并记录下来。
4,拷贝dumpdecrypted.dylib 到App的Documents 的目录。
5,执行砸壳后,并拷贝出砸壳后的文件,然后完成。
以上就是步骤了,其实很简单,下面进行演示砸腾讯视频的壳:
第一步:分别找到两个地址:
需要用到的命令:
1, ssh root@10.10.245.208 (iP地址为设备的iP地址)
2, ps -e (查看进程)
3, cycript -p (附加进程)
4, [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask][0]
演示:

第二步:拷贝dumpdecrypted.dylib 到App的Documents的目录:
需要用到的命令:
scp ~/dumpdecrypted.dylib root@10.10.242.107:/var/mobile/Containers/Data/Application/2B4C6281-C015-4FF3-A8EC-5E5C7554D447/Documents 利用Scp命令进行拷贝)

第三步:执行砸壳:
进入到 Documents 目录下,然后进行砸壳:
需要用到的命令:
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/
Application/BFED82A3-3238-4F41-B797-C1CB584CBE05/qqlive.app/qqlive
演示:

然后就会生成.decrypted的文件,这个就是砸壳后的文件。我们接下来就可以对他做操作了,比如导出头文件。
第四步:测试Dump出头文件
演示:

dump如果没有出现东西,可以确定下当前的处理器,加相应参数
如: --arch armv7
./class-dump --arch armv7 /Users/zhangdasen/Downloads/Theos-Script-master/TogetherInvest.decrypted -H -o /Users/zhangdasen/Downloads/Theos-Script-master/kk
其他型号使用相对应的 4(armv7),4s(armv7),5(armv7),5s(arm64),6(arm64),6s(arm64)
.
参考资料:
书籍:iOS应用逆向工程 第二版
网站:http://bbs.iosre.com/
网友评论
这一步会kill 9。
解决:1.su mobile 2.DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/containers/Bundle/Application/89C61871-125C-4633-B423-AC1A5089A73D/WhatsApp.app/WhatsApp
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask][0]
#"file:///var/root/Documents/"
我找沙盒路径的时候发现不对。这个楼主有遇到过吗?给我的感觉就像沙盒没有出来一样
iPhone:~ root# ps -e
-sh: ps: command not found
大神,什么原因
dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
没有签证 ?? ios10.2 ,这个楼主遇到过没
dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'
Abort trap: 6 这就是全部错误。没有errno
《 errno=1 》的话检查下dumpdecrypted.dylib 文件你放在了哪个路径下,是不是路径不对。
《 but wrong architectur 》 的话,应该是 dumpdecrypted.dylib与待砸App可执行文件的处理器架构不匹配。
dumpdecrypted.dylib: required code signature missing for 'dumpdecrypted.dylib'。不知道是不是这个原因,也找不到地方下xcode中的sdk
Application/BFED82A3-3238-4F41-B797-C1CB584CBE05/qqlive.app/qqlive 后,出现 Killed: 9 这是什么原因?
第三步的时候,报这个错,求解!!!
2016-07-12 10:59:18.467 class-dump[841:15417] Error: Cannot find offset for address 0x580000000100bcd8 in stringAtAddress: 我在iosre看到一篇帖子说是项目中可能用到了swift,http://bbs.iosre.com/t/xue-xi-yong-dumpdecryptedgei-appza-ke-suo-yu-dao-de-wen-ti/813,不知道你是否对此有研究?