2021/06 更新
在2021/06的SafetyNet更新中,EdXposed无法通过SafetyNet检测,需要更换为LSPosed在2019年年底写了一篇在 Root 和启用 Xposed 的设备上通过 SafetyNet 并使用 Google NFC Pay,但在2020年谷歌通过后台热更新为Google Pay增加了额外的验证,导致即使设备通过了SafetyNet也不一定能通过Google Pay的安全验证。 今年三月新的方法出现,最近按照新的安全要求重新进行了设置终于让我用回了GPay,特此分享过程OωO
- 目前Google Pay处于向GPay过渡时期,两个应用均可使用且数据互通,在任意一个应用中添加银行卡效果是一样的
- 现在检测是否通过Google隐藏的安全检测其实也简单了,以前要实际使用NFC Pay触发失败才知道没通过安全检测,现在不符合安全要求的设备直接不允许使用GPay应用
- 和2019年版教程有明显不一样的地方会用橙色字体高亮
- 每当涉及环境或模块安装/卸载时,应及时按提示重启设备,本文不再描述
设备环境
- OnePlus 7 Pro/ GM1917
- Android Version: 10
- Kernel Version: 4.14.117-perf+
- Build Number: Oxygen OS 10.3.8.GM21AA
软件环境
- Magisk Manager 22.1 (22100)(20)
- Magisk 22.1 (22100)
- EdXposed v93.0
- EdXposed Framework v0.5.2.2_4683-master_4683(YAHFA)
Magisk 设置
- 进入设置,启用 Magisk Hide
- 模块列表中下载并启用
MagiskHide Props Config
,这个模块在提示有更新时应及时更新 设置中启用自定义 Magisk Manager 包名
- 一定不要使用特别简短或者简单的单词作为包名,这个影响比较大
进入 Superuser 标签页,随后进入 MagiskHide 功能区,添加
Google Play服务
作为隐藏目标- 其它相关的Google应用你想加就加,不加在此处没影响
- 如果你安装了
SafetyPatch
和FDE.AI
模块,请卸载这两个会产生冲突的模块 - 模块列表中下载并启用
Universal SafetyNet Fix
模块列表中下载并启用
SQLite for ARM aarch64 devices
- 正如这个模块名所述一样,这个模块仅适用于当前流行的
ARM aarch64
架构的设备。如果你的设备不是aarch64
可以在Github EXALAB/sqlite3-android中找到对应版本的SQLite二进制文件编译安装
- 正如这个模块名所述一样,这个模块仅适用于当前流行的
EdXposed 设置
- 在最新的EdXposed版本中,Xposed黑名单模式改名为
Xposed Hide
且默认开启(在设置中可以将黑名单模式换成白名单模式) - 在侧栏进入
Xposed Hide
将
Goolge Play Services
拉入黑名单- 如果怕自己未来手抖把这一黑名单给撤了,可以在设置中启用
Pass SafetyNet
- 当
Pass SafetyNet
被启用时,谷歌服务模块将被强制拉入黑名单,你在Xposed Hide
中将无法修改相关的配置。同时,如果未来你需要将谷歌服务模块撤出黑名单,你需要首先关闭Pass SafetyNet
然后在Xposed Hide
再取消勾选相关应用。
- 如果怕自己未来手抖把这一黑名单给撤了,可以在设置中启用
此时...
- 重启设备,确保一切设置均已生效
- 打开Magisk,检查SafetyNet状态
此时你应该已经通过SafetyNet检测
ctsProfile
值应为Pass
,evalType
值为Basic
Google Play 设置
- 开启飞行模式
- 在手机应用设置中找到Play商店和谷歌服务框架 (
Google Play
和Google Play Services
) - 清除这两个数据的全部数据(你的谷歌帐号不会因此退出)
- 重启手机后关闭飞行模式
- 打开Google Play,按照正常的流程设置即可(记得关自动更新)
此时在Google Play设置的最底下,
Google Protect certification
的值应显示为Device is certified
- 如果
Google Protect certification
的值显示没有通过检测,自行检查之前的步骤有何疏漏 - 如果设置中没有
Google Protect certification
这一项,需要等待设备检测完成,这一速度取决于你的设备性能和网络性能,一般不超过10分钟
- 如果
Magisk 补丁模块
我们需要添加一个名为
GPay-SQLite-Fix
的Magisk模块- 在Github stylemessiah/GPay-SQLite-Fix 下载最新发布的版本
在Magisk Manager中导入这个模块包
- 按照提示使用音量键以作为确认
- 出现相关提示后使用音量键来确认清除
Google Pay
的本地数据 - 部分储存于本地的会员卡信息会因此被清除,请注意备份!
- 安装完成后不要重启
- 此时在Google Pay或GPay中应该已经可以添加银行卡并启用NFC支付了
转载请标注来源
有用