研究者逆向分析 iOS 应用 Flux:订阅状态由服务器主控,宕机即失效
-
GitHub 用户 Yu9191 近期公开一份对名为 Flux 的 iOS 应用订阅验证机制的静态分析报告,结论指出该 App 采用"服务器为主、Apple StoreKit 2 为辅"的混合验证模型,订阅状态的权威方为开发者自有服务器(fluxapi.vvebo.vip),用户身份通过 iCloudId 与 deviceId 组合识别,并存在"仅可绑定一个 iCloud 账号"等设备绑定限制。报告作者强调内容"仅为技术研究与学习目的",不涉及绕过付费。
报告基于反编译与抓包对照得出的关键观察包括:本地虽通过 WCDB 数据库与 iOS Keychain 缓存订阅状态,但仅是服务器响应的副本;二进制内硬编码有"连续验证失败 N 次,清除授权缓存"的字符串,意味着服务器长时间不可用时本地订阅会被主动清除——未订阅用户调用接口时,服务器响应也不再返回 isSubscribed、isEarlyBird 等字段。服务器响应通过 AES-256-CBC 加密,Key 与 IV 通过 XOR 混淆存储于二进制数据段、运行时动态生成。报告还罗列了 App 与 115 网盘、OneDrive、Trakt 等第三方服务的集成端点,并指出这些与订阅本身无关。该仓库目前仅有 5 颗 star、2 次 fork,结论尚未经第三方验证。