IPA应用程序提交到苹果商店时, 苹果官方的会对应用添加自己壳,所有苹果手机应用在app store下载在手机上,都会存在苹果官方的壳,所有就要进行砸壳,才能拿出手机中的IPA。
方式一、Clutch砸壳
下载Clutch(高版本不支持了,10.2还是可以用,12.1不行了),放入手机目录(全局环境变量):/usr/bin,并且赋予执行权限。利用爱思助手打开ssh通道
查看当前未砸壳程序
Clutch -I
进行砸壳
Clutch -d packageName
,如下是例子:
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
修改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)查看应用
(4)、对应用进行砸壳sudo ./dump.py boundID
(这里因为这个目录是sudo创建的,普通用户不能创建文件,直接运行dump.py会导致不能生成ipa)
(5)、生成在ipa在当前目录(/opt/dump/frida-ios-dump/目录),ls查询
image.png
网友评论