Play Integrity Fix 使用教程:4 步让 Root 设备通过 Play Integrity 认证
【免费下载链接】PlayIntegrityFixFix Play Integrity (and SafetyNet) verdicts.项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix
解锁 bootloader 并安装 Magisk 后,Google Play 会把设备标记为未认证,银行、支付和部分游戏应用直接拒绝运行。Play Integrity Fix 是一个基于 Zygisk 的 Magisk 模块,它针对目标应用伪装设备属性,让 Root 设备通过 Play Integrity(以及已废弃的 SafetyNet)校验。适合在 Android 8-15 的 Root 设备上仍需使用 Google 服务的用户。
它是什么 & 怎么工作
原理一句话:模块通过 Zygisk 注入应用进程,在进程启动阶段 hook 属性读取接口。Play Integrity 查询设备指纹、型号、安全补丁时,拿到的是配置文件中定义的一套"干净"设备信息,而不是真实 Root 设备的参数。可以把它理解成前台接待按名片上的资料回答问题,名片是假的,但访客只看得到名片。
模块各层职责:
- Zygisk 原生库(zygisk/*.so):负责注入目标应用进程
- C++ hook 层(app/src/main/cpp/main.cpp):拦截属性读取,返回伪造值
- Java 层(CustomKeyStoreSpi 等):处理密钥相关请求
- 脚本层(service.sh):开机时补充重置常见敏感属性
- 配置层(pif.json):定义要伪装成什么设备
整个过程不改动系统分区文件,只对命中规则的应用进程生效。
快速上手:安装与验证步骤
前置条件:Android 8.0(API 26)及以上;已安装 Magisk、KernelSU 或 APatch,且 Zygisk 已开启。
- 克隆仓库并构建,产物是 zip 模块包:
git clone https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix cd PlayIntegrityFix && ./gradlew assembleRelease构建完成后 zip 生成在out/PlayIntegrityFix_v19.1.zip。
- 在 Magisk 应用"模块"页选择"从存储安装",选中该 zip。注意必须在开机模式下安装,recovery 中安装会被脚本直接拒绝。
- 安装完成后重启设备。
- 验证:安装 Play Integrity API Checker 类应用查看判定结果。Android 12 及以下,BASIC/DEVICE Integrity 显示通过即算成功;Android 13 及以上需配合 TrickyStore 才能通过 Device 判定,单独使用本模块只会通过 BASIC。
关键配置:pif.json 参数速查
默认配置在 module/pif.json,安装后位于设备的/data/adb/modules/playintegrityfix/pif.json。自定义配置可放在/data/adb/pif.json,优先级更高。核心只有 3 个字段:
| 配置项 | 作用 | 示例值 |
|---|---|---|
| FINGERPRINT | 设备完整指纹,Play Integrity 用它核对设备身份,必须与真实固件格式一致 | google/oriole_beta/oriole:16/BP22.250325.012/13467521:user/release-keys |
| MODEL | 设备型号,需要和指纹中的设备号相互匹配 | Pixel 6 |
| SECURITY_PATCH | 安全补丁日期,过旧会直接判失败 | 2025-04-05 |
建议用真实固件中存在的指纹,冷门或拼错的指纹反而更容易暴露。
横向对比:同类方案怎么选
| 方案 | 原理 | 适用范围 | 维护状态 |
|---|---|---|---|
| Play Integrity Fix | Zygisk hook 属性伪装 | Android 8-15,13+ 需配合 TrickyStore | 持续更新 |
| TrickyStore | 伪造 KeyStore 提供 keybox | Android 13+ 通过 Device 判定的前提 | 持续更新 |
| Magisk DenyList | 对目标应用隐藏 Root 痕迹 | 全版本 | 已内置于 Magisk |
| 改 build.prop | 直接修改系统属性文件 | 老版本 Android | 不推荐 |
选型建议:Android 12 及以下,只装 Play Integrity Fix 即可;Android 13 及以上,Play Integrity Fix 加 TrickyStore 是标准组合;DenyList 适合处理"应用检测 Root"这类问题,但它不处理指纹校验,不能替代本模块。
常见问题 & 收尾
问题 1:安装后仍是未认证?原因:Android 13+ 移除了旧版检查,Device 判定等同旧的 Strong 判定,需要有效 keybox。 解法:安装 TrickyStore 模块提供 keybox,并确认 pif.json 指纹真实、安全补丁日期较新。
问题 2:安装时报"Install from recovery is NOT supported"?原因:模块必须在 boot 模式且 Zygisk 可用,安装脚本会做这两项检查。 解法:从 Magisk/KernelSU/APatch 应用内安装,并在 Magisk 设置中开启 Zygisk。
问题 3:特定应用仍然检测到 Root?原因:本模块只伪装 Play Integrity 读取的属性,不隐藏 Root 文件和进程痕迹。 解法:把该应用加入 Magisk 的 DenyList(应用隐藏列表)。
问题 4:和别的模块冲突?原因:safetynet-fix 已废弃且与本模块不兼容,playcurl 可能用无效指纹覆盖配置。 解法:卸载 safetynet-fix,同一时间只保留一个负责指纹的模块。
版本更新历史见 changelog.md,默认配置可对照 module/pif.json 按自己设备调整。
【免费下载链接】PlayIntegrityFixFix Play Integrity (and SafetyNet) verdicts.项目地址: https://gitcode.com/GitHub_Trending/pl/PlayIntegrityFix
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考