dumpdecrypted

PS:砸壳只能在越狱手机上进行如果没有越狱设备的话是不行的。

砸壳步骤如下:
1.下载dumpdecrypted
dumpdecrypted源码下载地址
下载之后放在哪里看你个人喜好。
2.设置Makefile中的SDK字段和设备上的一致

在有些教程里是没有说设置SDK保持一致的。不设置能不能成功我也没有尝试过,不过设置了是一定可以的。
打开下载的dumpdecrypted文件夹里面的Makefile(我用的是sublime)

Makefile部分内容
我们看第三行是SDK,复制sdk后面的内容

xcrun –sdk iphoneos –show-sdk-path
打开终端并输入上面命令

本地默认SDK路径
可以看到我的默认的是9.3的我的xcode版本是7.3的xcode。我的设备是iOS8.3而现在默认的为9.3是不一样的所以我们找到对应版本的路径自己设置一下,如果没有的话就去这里下载旧版本的xcode
旧版xcode下载地址
下载安装好旧版本xcode之后在xcode目录下

/Applications/Xcode6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
在这个目录下找到我们需要的sdk替换默认的

SDK修改之后
3.修改Makefile中的GCC_UNIVERSAL字段和dumpdecrypted.c

如果是7.0以下的设备我们还需要改些东西,我们要将上图的第二行修改为

GCC_UNIVERSAL=$(GCC_BASE) -arch armv7 -arch armv7s
还要将dumpdecrypted文件夹里的dumpdecrypted.c文件的第76行

if (lc->cmd == LC_ENCRYPTION_INFO || lc->cmd == LC_ENCRYPTION_INFO_64)
改为

if(lc->cmd == LC_ENCRYPTION_INFO)
4.生成dumpdecrypted.dylib文件
然后我们在终端cd到dumpdecrypted目录下,在终端执行命令

&make
完成后dumpdecrypted.dylib文件出现在当前目录下,这个就是我们砸壳用的锤头。

5.将dumpdecrypted.dylib拷贝到iOS设备上
你可以使用iFunBox,iFile这些图形界面来操作,相对来说我还是习惯使用命令行。
我们要把“锤头”拷贝到Documents目录下。
我们先来定位待砸壳app的可执行文件

设备上运行待砸壳app,最好只运行这一个,然后终端接入设备

$ssh root@设备ip
有关环境配置请自行查阅资料
接上设备后我们使用

ps -e
执行后如下:

ps -e 执行结果
这里只是列出部分结果,因为我们只运行了一个app所以我们找到

/var/mobile/Containers/Bundle/Application/ED230789-AE88-4AAF-9D08-7BB97C7E629D/MinecraftBox.app/MinecraftBox
/var/mobile/Containers/Bundle/Application/这个字段就是目标
这里以口袋MC盒子为例,可以看到MinecraftBox.app/MinecraftBox就是我们要找的可执行文件

然后我们用Cycript找出要砸壳app的Documents目录路径,命令输入

cycript -p 要砸壳的app
输入之后结果如下:

结果
然后再输入:

[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0]
得到Documents路径:

Documents路径
将dumpdecrypted.dylib拷贝到Documents路径下

$scp dumpdecrypted.dylib路径 root@设备IP:Documents路径;
拷贝成功结果:

拷贝成功结果
6.开始砸壳

DYLD_INSERT_LIBRARIES=/path/to/dumpdecrypted.dylib /path/to/executable
实际操作:

cd 到设备Documents下
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可执行文件路径
运行后可以看到:

运行后结果
接着我们ls一下看看文件夹下的内容:

Documents文件夹下文件
我们可以看到除了app本身自带的内容和我们拷贝进去的dumpdecrypted.dylib文件里面还有个后缀为decrypted文件,没错这个就是我们想要的。后缀为decrypted的文件就是解密后的app的可执行文件,把它拿出来对它进行你想要的操作吧!

PSPSPSPSPSPSPS:
如果不为过程只要结果,就是说只是想要砸壳后的ipa文件用来分析学习人家的应用的架构和思路,那么有个很简单的办法,步骤如下:
1、下载pp助手 https://pro.25pp.com/?from=pp_pz
2、在里面搜索你要dump的app(appstore上有的 pp上都有)
3、down下来的ipa文件就是被砸过壳的越狱包,尽情的dump吧(^o^)/~。

你可能感兴趣的:(iOS)