DrWhax/unfairplay

安全

从已登录的 Mac 提取 FairPlay 解密模型,用来解密你自己已下载的 IPA。

151
49
Go
MIT
今天创建

这是一个只做一件事的 Go 工具:从绑定你 Apple 账号的 Mac 上提取 FairPlay 解密模型,再拿它解密 IPA。只有在你已经合法下载了 App、又需要分析或研究它时才值得花时间。

解决什么问题

你从 App Store 下载了一个 IPA,想看看里面的字符串、资源或 Mach-O 结构,但二进制被 FairPlay 加密,静态分析几乎得不到有效信息。通常这意味着在 Mac 上翻分散的教程、私有框架和一次性脚本,而且没法在依赖结果之前确认模型到底能不能用。UnfairPlay 把流程压成几条命令:collect 收集 Mac 状态,以及一个与账号匹配的已安装 App 和它的 IPA;recover 提取并校验模型;decrypt 用同一 enrollment 的模型解密其他 IPA。产物是供分析用的未签名副本,不是可直接安装的 App。

有什么不同

设计的核心是 enrollment 匹配:IPA、已安装 App、Mac 状态、硬件身份和模型必须属于同一个 Apple 账号和同一次 enrollment,账号或 selector 不匹配会被直接拒绝。这个限制本身就是价值所在——不是盲目尝试解密然后得到乱码,而是提供了显式校验步骤(verify 解密但不保留产物)以及检查 capture 和模型的 doctor 子命令。README 还明确列出了已验证的构建版本(25G83、26A428/26A434,以及 26B118 兼容模式);未知的 arm64e 构建只有在模型恢复和完整 IPA 校验都成功时才被接受。

第二个值得注意的选择是可移植性:支持 macOS arm64 和 Linux amd64/arm64,模型恢复在 Mac 上完成,解密可以搬到 Linux。代价是前置准备:你必须登录原生 Mac App Store、安装一个 iOS App 并打开一次、再下载同一个 App 的加密 IPA——这些步骤工具故意不代劳。它也不会登录 Apple、购买 App 或下载 IPA,ipatool 之类的下载器仍要你自己处理。Windows 只做过编译测试,无法落实项目要求的私有文件权限,因此不算可用路径。

谁值得试

适合:有 Mac、有合法 Apple 账号、有正当理由检查已下载 App 的安全研究者或逆向工程师,并且需要从同一次 enrollment 出发重复解密多个 IPA。需要把恢复出的模型带到 Linux 上做后续分析流程的人也可以考虑。

不适合:没有已登录 Mac、或手上没有自己下载的 IPA 的人,因为工具刻意不替你获取 App。想直接安装解密结果的人也不适合——解密后的 IPA 只是分析文件,安装前仍需签名。Windows 用户同样不合适。严格的同 enrollment 规则意味着混用 capture、账号或硬件会被拒绝,而不是被宽松放过。

使用条件与边界

主要门槛在准备阶段:需要原生 Mac App Store 登录、一个已安装并打开过的 iOS App、对应的加密 IPA,collect 步骤还需要 sudo。enrollment 必须保持一致,来自某个账号或机器的 capture 不能解密另一个账号的 IPA。capture、SIDB/SINF 数据、硬件标识、恢复出的模型和解密后的 App 都应视为私有材料,README 明确提醒不要分享其中任何一项。

长期维护主要看 macOS 版本兼容性:文档只列出少数已验证构建,未知 arm64e 的回退路径依赖校验成功,而不是有文档保证。还要注意这是针对 FairPlay 的拦截/恢复流程,不是通用 DRM 研究框架;对未来 macOS 版本能否继续使用,文档没有给出结论。具体命令和发布标签规则见项目说明。

HotRepo 点评

该仓库创建于 2026-10-25,据 HotRepo 唯一一次记录,于 2026-10-26 以 151 个总 star 登上新项目榜第 2 名(并非总榜)。这只是单日观察,不是增长序列,因此还无法判断热度能否持续或长期维护情况。在依赖它之前,先确认你的 macOS 构建出现在文档列出的已验证版本中,或者未知构建的回退路径能在你的硬件上通过完整 IPA 校验。

本文由 AI 根据项目 README 生成,更新于 2026年10月26日,以项目官方文档为准。