如何获取 App Store 上任意一个 iOS app 的安装包
0x00 前言
经常抄(啊呸,借鉴)别人 App 设计(或功能)的同学,肯定经常要分析其他人的 App,UI 的话,我一般都是搭配 Reveal
来窥探,看看那些 App 的 UI 结构,因为可以看出一个视图的类名,如果是用了第三方库的话,就能根据这个类名,找到对应的库,就可以直接拿来用,实现几乎一样的效果。
但是如果是功能性的,没有 UI 界面的,这个时候 Reveal
就无能为力了。此时,我们就需要获取这个 App 的安装包,查看里面集成了哪些 SDK。
这时候,我们有几个办法。
通过一个已经越狱了的手机,下载安装目标 App,然后根据我之前写过的这个文章来导出已解密的 App。
如果手上没有合适的已越狱的手机,那么就祭出 Apple 官方提供的
Apple Configurator
,下载地址在这里。
0x01 准备工作
下载安装
Apple Configurator
将手机与 Mac 通过数据线连接,打开
Apple Configurator
,会显示连接的手机双击手机进入,还需要先登录你的苹果账号
点击
+ 号
,选择Apps
搜索你的目标 App(这里为了演示,我选择了一个安装包比较小的 ONE),然后选中目标 App 之后点击右下角的
Add
等待 IPA 下载完毕,出现这个弹窗时,不要点击任何按钮(_注意,实测手机上也需要安装相同版本的目标 App,才会出现这个弹窗,否则可能会直接更新手机上的 App 到 App Store 最新版,弹窗不出现_)
Finder 进入如下目录:
~/Library/Group Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps/
可以找到刚下载的这个 App将其移动或复制到其他方便操作的目录,修改其扩展名为
.zip
,然后解压,就可以看到里面的.app
文件了,然后右键菜单选择显示包内容
,进入 App 文件,就可以查看里面的各种文件了。
0x02 过程中可能遇到的问题
我之前在 Apple Configurator
里面已经登录过苹果账号了,这次演示的时候,打开发现报错,不能显示和搜索 App 了:
根据提示文字,可能是登录过期了,然后就在顶部菜单栏中点击 Account
,选择 Sign Out...
,然后重新登录即可。
0x03 导出 Assets.car
如果是对 App 内的图片资源文件感兴趣,除了包内可以直接拿到的图片文件,还有大部分图片是在 Assets.car
文件里面的,可以使用开源的 Asset Catalog Tinkerer
来导出这些图片资源,下载地址在这里。