iOS 逆向开发24:砸壳

2021-09-02  本文已影响0人  differ_iOSER

iOS 逆向开发 文章汇总

目录

注意:Clutch、dumpdecrypted适用于完美越狱手机,frida-iOS-dump可用于非完美越狱手机

一、砸壳

软件脱壳,顾名思义,就是对软件加壳的逆操作,把软件上存在的壳去掉(解密)。

iOS应用运行原理

二、Clutch

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

Clutch安装

官网: https://github.com/KJCracks/Clutch

Clutch使用

三、dumpdecrypted

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

安装
官网 :https://github.com/stefanesser/dumpdecrypted 直接Git Clone

四、向进程中插入动态库

cd Temp
scp -r -P 12345 Inject.framework root@localhost:/var/root

// 切到连接手机的终端界面
// 查看Inject.framework是否拷贝到手机
ls
//su mobile

DYLD_INSERT_LIBRARIES=Inject.framework/Inject /var/containers/Bundle/Application/7E8BE0F1-818A-4163-BD32-3D06AD600EB9/InsertDemo.app/InsertDemo

注意:非自己的APP如微信等通过以上方法不能插入。 dumpdecrypted这个工具就是通过这种原理进行砸壳的。

五、frida-iOS-dump

该工具基于frida提供的强大功能通过注入js实现内存dump然后通过python自动拷贝到电脑生成ipa文件。

安装frida

sudo git clone https://github.com/AloneMonkey/frida-ios-dump
sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade
// 查看Mac进程
frida-ps

// 查看手机进程
frida-ps -U

// 进入微信调试界面
frida -U 微信

frida-iOS 官方文档

frida-ios-dump官网可以看到:
Run usbmuxd/iproxy SSH forwarding over USB (Default 2222 -> 22). e.g. iproxy 2222 22
因此通过USB连接需要映射的端口为2222,或者可以修改dump.py中将映射的端口修改之前的12345。这里选择修改dump.py文件。

使用dump.py砸壳

// USB连接手机----usbConnect.sh
cd /opt/python-client
python tcprelay.py -t 22:12345

// 砸壳-需打开微信
cd /Users/ztkj/Desktop/Temp
dump.py 微信

// 获取头文件 - 解压缩ipa包并将MachO文件拖出来 (路径中不能有中文)
class-dump -H WeChat -o WeChatHeaders/

注意:1、dump.py中User、Password、Host、Port必须和USB链接手机时的一致。
   2、由于/opt/MonkeyDev/bin/中有dump.pydump.js文件并且配置了相应的环境变量,因此dump.py命令可以在任意目录执行。
   3、dump微信时,微信必须在运行状态。

补充命令

cryptid 为0 表示为加密,已被砸壳了。

上一篇下一篇

猜你喜欢

热点阅读