iOS IPA砸壳入门教程

IPA应用程序提交到苹果商店时, 苹果官方的会对应用添加自己壳,所有苹果手机应用在app store下载在手机上,都会存在苹果官方的壳,所有就要进行砸壳,才能拿出手机中的IPA。

方式一、Clutch砸壳
下载Clutch(高版本不支持了,10.2还是可以用,12.1不行了),放入手机目录(全局环境变量):/usr/bin,并且赋予执行权限。利用爱思助手打开ssh通道

image.png

查看当前未砸壳程序
Clutch -I
进行砸壳
Clutch -d packageName,如下是例子:

image.png

ios 12.1系统运行Clutch会报错,报错信息:Killed: 9
解决办法,命令界面输入:

cd /private/var/mobile/Documents(没有就建立一个)
ldid -e `which bash` > ent.xml
ldid -Sent.xml `which Clutch`
inject `which Clutch`

这个在ios12.1修复了,我还是没有成功.....

方式二、frida-ios-dump砸壳
前提,手机上安装frida.通过注入js实现内存dump,再由Python自动拷贝到电脑生成ipa包
1、配置frida-ios-dump环境:从Github下载工程
sudo mkdir /opt/dump && cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump
安装依赖:
sudo pip install -r /opt/dump/frida-ios-dump/requirements.txt --upgrade

image.png

修改dump.py参数(可直接打开修复):
vim /opt/dump/frida-ios-dump/dump.py
找到如下几行(32~35), 如我不需要修改:

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

2、使用,打开终端安装
brew install usbmuxd
设置端口映射(因为我上面连接手机是1025[看方式一端口],但是这个要22[不懂],这里2222是上面脚本里的连接端口)我个人认为是iproxy 2222 1025,但是不行,用iproxy 2222 22就可以。

(1)、打开第一个终端输入:iproxy 2222 22(端口映射)
然后会自动显示等待连接:waiting for connection


image.png

(2)、打开第二个终端[此时comand+N新建终端]输入:


815366E6AD779670260D23C98344F20D.png

(登录成功后,进行3)

(3)、打开第三个终端,切换到/opt/dump/frida-ios-dump/目录下,运行./dump.py -l(小写l)查看应用

image.png

(4)、对应用进行砸壳sudo ./dump.py boundID(这里因为这个目录是sudo创建的,普通用户不能创建文件,直接运行dump.py会导致不能生成ipa)

image.png

(5)、生成在ipa在当前目录(/opt/dump/frida-ios-dump/目录),ls查询


image.png

你可能感兴趣的:(iOS IPA砸壳入门教程)