iOS应用砸壳实践

由于最近在摸索逆向app,发现从pp助手下载的越狱包大部分app都是比较老的版本的,需要新版本的那就只能自己动手去砸壳了

没有越狱手机的就从助手下载从助手获取越狱版本ipa

准备工作

  1. 越狱手机
  2. mac电脑
  3. 手机上下载好需要越狱的app

环境搭建

手机环境搭建

1. 安装OpenSSH

  1. 打开手机Cydia,找到OpenSSH


    iOS应用砸壳实践_第1张图片
    图片.png
  2. 进入OpenSSH,进行安装


    iOS应用砸壳实践_第2张图片
    图片.png

进去点击安装,我这里是已经安装好了


iOS应用砸壳实践_第3张图片
图片.png

2. 安装frida

  1. 添加源:路径为Cydia --> 软件源 --> 编辑 --> 添加源(build.frida.re)


    iOS应用砸壳实践_第4张图片
    图片.png
  2. 进入到刚才添加的源去安装frida


    iOS应用砸壳实践_第5张图片
    图片.png
iOS应用砸壳实践_第6张图片
图片.png

mac环境搭建

  1. 安装frida

sudo pip install frida

  1. 安装frida-ios-dump
    可以手动下载放到/opt/dump文件下,也可以终端执行clone操作

sudo mkdir /opt/dump &&cd /opt/dump && sudo git clone https://github.com/AloneMonkey/frida-ios-dump

下载frida-ios-dump

  1. 安装frida-ios-dump的依赖

cd到frida-ios-dump目录
cd /opt/dump/frida-ios-dump
然后执行
sudo pip install -r requirements.txt --upgrade

配置中遇到问题:
Cannot uninstall 'six'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
解决方法:

sudo pip install -r requirements.txt --ignore-installed six

砸壳实战

1. 映射端口
我使用iproxy失败,就使用USBSSH来进行端口的映射;
USBSSH.zip 下载解压就好了;映射的话就执行./tcprelay.py -t 22:2222

hechaodeMacBook-Pro:~ hechao$ cd Downloads/USBSSH
hechaodeMacBook-Pro:USBSSH hechao$ ./tcprelay.py -t 22:2222
Forwarding local port 2222 to remote port 22

2. 启动手机设备
这里需要新开启一个终端,然后执行ssh -p 2222 [email protected]

iOS应用砸壳实践_第7张图片
图片.png

如上图所示会提示输入密码,越狱的默认密码是alpine输入即可

iOS应用砸壳实践_第8张图片
图片.png

至此手机算是连接成功了

3. 执行dump脚本砸壳
比如我要砸壳的是苏宁易购app;砸壳可以指定bundleId或者应用名称;比如苏宁的bundleId是SuningEMall

/opt/dump/frida-ios-dump/dump.py SuningEMall

这里我的终端在Desktop目录,由于我终端在frida-ios-dump目录下执行脚本,砸壳的过程中,在最后zip ipa的时候提示权限不对,所以我就在Desktop目录让ipa的导出目录在Desktop,就解决了权限的问题,或者你加上sudo去执行,总之都可以;报错如下

0.00B [00:00, ?B/s]Generating "苏宁易购.ipa"
0.00B [00:00, ?B/s]
zip I/O error: Permission denied
zip error: Could not create output file (/opt/dump/frida-ios-dump/苏宁易购.ipa)
Command '(u'zip', u'-qr', u'/opt/dump/frida-ios-dump/\u82cf\u5b81\u6613\u8d2d.ipa', u'./Payload')' returned non-zero exit status 15

最终经过一段时间的等待,大概几分钟吧,砸壳就完成了,ipa包导出在我们执行砸壳的目录下,比如我的是Desktop


iOS应用砸壳实践_第9张图片
图片.png
iOS应用砸壳实践_第10张图片
图片.png

执行脚本期间如果遇到类似库找不到的问题ImportError: No module named xxx

hechaodeMacBook-Pro:frida-ios-dump hechao$ ./dump.py 苏宁易购
Traceback (most recent call last):
  File "./dump.py", line 23, in 
    from tqdm import tqdm
ImportError: No module named tqdm
hechaodeMacBook-Pro:frida-ios-dump hechao$ sudo pip install tqdm

解决方案就是:执行install sudo pip install xxx

参考资料

  • frida-iOS-dump 一键砸壳
  • frida-ios-dump
  • 通过ssh连接到越狱iPhone|iPad
  • frida-ios-dump github地址

你可能感兴趣的:(iOS应用砸壳实践)