砸壳提取 ipa 包

因为工作原因,需要对一个产品进行分析和了解,基于 ipa 包做一些解析。但是,因为 Apple 的安全机制,我们很难再获取 ipa 文件。

为了解决这个问题,作者想到了逆向工程,文章记录了如何操作,并成功实现 ipa 文件提取。

准备工作

  • 越狱设备

作者使用的是 iPhone 5s,iOS 12.5.5

  • 设备已经安装了 AF2(Apple File Conduit 2) 插件

越狱操作可以使用爱思助手提供的一键越狱功能完成

  • Clutch 工具

https://github.com/KJCracks/Clutch

拷贝 Clutch

有两种方法可以实现将 Clutch 拷贝至已越狱设备

1、可以通过爱思助手将 Clutch 可执行文件拷贝到 /usr/bin 路径下

爱思助手文件拷贝

2、通过终端拷贝

$ scp Clutch root@设备ip:/usr/bin/

密码默认:alpine,设备ip可用通过查看网络信息获取,需要注意的是,设备与电脑需要连接在同一网络下。

配置 Clutch

1、连接设备

$ ssh root@设备ip

通过 ssh 连接设备,密码默认:alpine

连接成功后可以在设备 /usr/bin/ 目录下查看 Clutch 是否存在。

2、给 Clutch 添加可执行权限

1
2
$ cd /usr/bin
$ chmod +x Clutch

3、确定 Clutch 是否可执行

可以在命令行输入 Clutch,显示下图则说明操作成功

Clutch可用参数

1
2
3
$ Clutch -b // 砸壳,砸壳后文件是二进制文件
$ Clutch -d // 砸壳,砸壳后的文件是ipa文件
$ Clutch -i // 查看越狱设备当前安装的应用列表

砸壳&提取

1、获取设备上的安装应用

$ Clutch -i

设备上安装的应用

2、砸壳

$ Clutch -d 6

表示要砸 云哈利波特:魔法觉醒 这款应用的壳。

砸壳哈利波特

3、DONE

上图中 DONE 即表示砸壳成功,后面则是ipa文件路径,可以通过爱思助手或终端将 ipa 文件导出。

scp -r root@设备ip:/private/var/mobile/Documents/Dumped/xxx.ipa ~/Desktop/

密码默认:alpine

到此,整个砸壳和提取 ipa 文件操作结束。