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 来导出这些图片资源,下载地址在这里。