AppleJam - ToDo
Dataset
Dataset
Develop-Prepare
Develop-Prepare
Develop-V1.0
Develop-V1.0
目标需求:
- 收集:
- 抓取市面上的iOS应用
- 检测app的更新
- 下载:
- 下载IPA
- 管理版本
- 存储IPA
- 解密:
- 解密IPA中的binary
- 分析:
- 基础属性分析
- 聚类分析
系统数据流
收集:抓取iOS应用列表
方案选择:
- 遍历appstore的AppID
- 初步估算appid的范围有10亿+,遍历显然不现实
- 抓取排行榜单应用
- 可行,但需要的资源太大,且数据整理比较困难,前期投入过大
- ✔与App数据网站合作
- 可行,目前iai.cn看起来数据较好抓取
- 已有iOS应用收集网站
更新:监测app的更新
方案选择:
- 通过iTunes检查更新接口更新:需要逆向
- 通过iPhone检查更新接口:需要逆向,且难度更高 脚本 - 自动更新(iOS)
- ✔通过App数据网站的更新列表来监测更新
- 简单快捷!
购买App
方案选择:
- 通过Windows iTunes购买:过于复杂,放弃 逆向笔记 - 自动购买(Windows iTunes)
- 通过iOS购买:需要设备,麻烦,作为备用方案 逆向笔记 - 自动购买app(iOS) 脚本 - 自动购买(iOS)
- ✔通过ipatool-py的purchase进行购买
下载IPA
方案选择:
- ✔下载完整的IPA(iTunes、IPATools等渠道下载)
- 兼容性最好,保证可以安装
- 下载方式成熟
- 下载App Thining的IPA: Thinned IPA 下载方案
- 兼容性差,但需要解密的数据量少
- 需要使用设备下载,需进一步逆向下载接口
- 需要探究是否可以仅传输部分数据来进行解密(只传输cryptid覆盖到的)
解密:大批量解密ipa
方案选择:
- iOS-无账号解密:目前我无法实现 FairPlay内部原理探究
- iOS-有账号解密:传输/处理速度慢、越狱稳定性差,但越狱成熟 iOS强制亮屏
- ✔M1-有账号解密:速度快、无需越狱、稳定性好
AppleJam - 系统架构 & 文档
AppleJam - 前期准备研究 & 工具