iOS几种砸壳方案

苹果为了应用安装包的安全,在打包之后,会对应用包进行一个对称加密。而在逆向中,我们需要使用未加密的安装包来进行解析,这时候就需要将应用进行砸壳。
砸壳方案有几种,但其核心原理都一样,因为iOSAPP在运行到内存中操作系统会对其进行解密,所以砸壳的时候就是把内存中的代码dump出来。

查看Mach-O是否进行加密可以用命令查看:
以微信为例:

otool - l WeChat | grey cryptid
最终看到的cryptid字段1表示了加密,0表示了解密。命令中的WeChat字段是ipa包里的二进制文件名。

1.Clutch

Clutch是由KJCracks开发的一款开源砸壳工具。工具支持iPhone、iPod Touch、iPad,该工具需要使用iOS8.0以上的越狱手机应用。

使用方法

  • 先把clutch文件拷贝到越狱手机里,
scp Colutch-2.0.4 [email protected]:/usr/bin
  • 查看可以砸壳的应用列表
clutch -i
  • 开始砸壳,选中列表中的序号,终端砸完壳会返回砸壳后的文件路径,拷贝出来即可。
Clutch -d 2

2. dumpdecrypted

Github开源工具。 dumpdecrypted这个工具就是通过建立一个名为dumpdecrypted.dylib的动态库,插入目标应用实现脱壳。

使用方法

  • 先把dumpdecrypted从github下载下来,然后make编译生成dumpdecrypted.dylib文件
  • 将dylib文件拷贝到手机里
scp dumpdecrypted.dylib [email protected]:~/
  • 通过DYLD_INSERT_LIBRARIES 环境变量插入动态库执行
DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib xxx/WeChat
DYLD的命令,可以将动态库插入到APP的可执行文件中,后边跟上app的路径
可以通过ps -A | grep WeChat查看路径
  • 最后会生成WeChat.dycrepted就是砸过壳后的mach-o文件

3. frida-ios-dump

该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件。
目前该工具是使用最多了,可以为非完美越狱下进行操作,也比较简单

在 mac安装

  • 安装pip $sudo easy_install pip
  • 安装frida $sudo pip install frida-tools
    有可能会出现目录安装错误。目录不归当前用户所有。请检查该目录的权限和所有者.需要sudo的-H标志。将 HOME 变量设为目标用户的主目录



    这时候使用另一个命令:

  • $sudo-H pip install frida-tools

在手机上安装

  • 在cydia里搜索frida,然后安装

使用

  • 修改frida-ios-dump文件夹里的dump.py里的目标手机的账号密码。
User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 12345
  • 然后直接./dymp.py 微信 就能砸壳了,最后生成IPA在你的当前文件夹里。

砸壳就先介绍到这里,有问题给我留言。

你可能感兴趣的:(iOS几种砸壳方案)