iOS frida-ios-dump 砸壳记录

背景:

最近在做竞品的对比测试,需要获取竞品的iOS安装包,然后逆向代码注入获取性能数据的dylib。但是从AppStore下载的app是被苹果加密过的,即被加了一层壳,class-dump无法作用于加密过的App,所以使用frida-ios-dump对app进行脱壳尝试并记录过程内容。

一 前置条件:一台已越狱的iOS手机

如何越狱的文档可参考:https://www.i4.cn/news_detail_36401.html

备注:手机上checkra1n打开如提示网络问题,可以连接代理后重新打开

至手机成功安装Cydia完成

二 砸壳的依赖环境配置

1 iOS端配置安装frida

  • 打开cydia 添加源:https://build.frida.re
  • 打开刚刚添加的源 搜索并安装Frida

参考文档:https://frida.re/docs/ios/

2 pc端安装frida

前置条件(已有python环境)

pip install frida-tools

参考文档:

https://frida.re/docs/installation/

3 连接iPhone设备

3.1 通过brew安装usbmuxd与手机进行通信

brew安装usbmuxd,usbmuxd自带工具iproxy,iproxy可以快捷连接iPhone操作。

brew install usbmuxd
3.2 通过iproxy 映射iphone端口到PC电脑上

执行如下命令把当前连接设备的22端口(SSH端口)映射到电脑的2222端口,那么想和设备22端口通信,直接和本地的2222端口通信就可以。

iproxy 2222 22

终端提示 waiting for connection ,表示这两个端口之间已经可以通信了,保留当前终端不要关闭即保持可通信状态。

3.3 使用ssh 连接iPhone 设备进行验证

刚才的终端窗口不要关闭,打开新的终端窗口,输入如下命令,进行设备连接,默认密码:alpine

ssh -p 2222 [email protected]

可正常连接即可,说明如上流程都无误,可进行后续的砸壳。

三 使用frida-ios-dump开始砸壳

1 下载frida-ios-dump 源代码并安装依赖

git clone https://github.com/AloneMonkey/frida-ios-dump.git # 下载源代码
cd frida-ios-dump # 切换到代码目录
pip install -r requirements.txt --upgrade # 安装依赖

2 开始砸壳

进入frida-ios-dump工程目录,输入如下命令设置自己app的bundle_id 即可一句命令完成砸壳,

python dump.py bundle_id

执行过程如下,执行完成后即可在当前目录看到砸壳后的ipa,到这里砸壳就已完成。

Start the target app com.bundle.demo
Dumping demo to /var/folders/0z/pb40zwq13c37khlymygl6_c80000gn/T
[frida-ios-dump]: IphoneComFramework.framework has been loaded.
start dump /var/containers/Bundle/Application/A78FE7C2-EB81-4435-B4E7-6716BB7F10E4/IphoneCom.app/IphoneCom
IphoneCom.fid: 100%|██████████| 77.1M/77.1M [00:07<00:00, 10.4MB/s]
start dump /private/var/containers/Bundle/Application/A78FE7C2-EB81-4435-B4E7-6716BB7F10E4/IphoneCom.app/Frameworks/IphoneComFramework.framework/IphoneComFramework
IphoneComFramework.fid: 100%|██████████| 45.0M/45.0M [00:03<00:00, 14.4MB/s]
IphoneCom: 168MB [00:41, 4.21MB/s]
0.00B [00:00, ?B/s]Generating "demo.ipa"
0.00B [00:00, ?B/s]

备注:

dump.py 中默认参数如下,所以正常按照第二步的环境依赖配置操作 iproxy 2222 22映射到2222即可。如有不一致,则需修改dump.py 的默认配置。

User = 'root'
Password = 'alpine'
Host = 'localhost'
Port = 2222

你可能感兴趣的:(iOS frida-ios-dump 砸壳记录)