- 所有文章/
关于 Google Play 保护机制和 DRM 安全等级的那些事
本文目录
GMS/GSF 简介 #
Google 的 GMS 服务(Google Mobile Service)和 GSF 服务(Google Service Framework)是 Android 设备上不可缺失的重要核心功能的一部分
- GMS 服务 为 Android 设备带来对 Google 一系列 App 和 API 的支持,如:Gmail、Chrome 、Youtube、Google Maps、Play Store 等应用程序和服务;
- GSF 服务 我们习惯称之为‘Google 服务框架’,是确保 Google 其他服务能够完好运行的基础
世界各地的 Android 设备制造商都可以选择在设备上选择预装 Google 热门应用,Google 的 Android 团队会对这些设备进行认证,以确保它们收到安全保护,并能正常安装和运行来自 Google 和 Play Store 的应用,了解 Google Play 保护机制。
在中国大陆销售的 Android 设备,大多数品牌选择预装最基础的 GMS 服务(默认冻结,更新或安装 Google Play Store 即可激活),如小米/红米绝大部分机型、一加全部机型、被制裁前的华为手机的大部分机型等。预装有 GMS 服务的设备一般都已经送过 Google 的 Android 团队进行检测,并确保它们通过了 GSF 认证,这样的话当我们激活了设备上的 GMS 服务时,我们应该可以在 Play Store 的 设置
的 关于
页面的 Play 保护机制认证
栏看到 设备已通过认证
的字样。
需要注意的一点是,对于小米/红米的 MIUI 系统,当你切换了开发版(内测版) 系统后,该认证就会失效,因为开发版(内测版) 系统更新更频繁,不可能每次更新都去过测认证的;除此外,在一些设备上我们解锁了 Android 设备的 Bootloader 锁或者刷入了自定义 ROM(第三方 ROM)后该认证也会失效。安装有 GSF 服务的 Android 设备里都有个特定的 GSF ID
,它在 系统变更
或 GSF 服务
被清除数据后进行变更,可能会导致 Google Play 保护机制认证不通过。
Widevine DRM 安全等级 #
大部分 Android 设备还有个 Widevine DRM 安全等级,它一般按照 L1~L3 等级区分:
- Security Level 1 (L1):完全在可信执行环境 TEE(Trusted Execution Environment)中进行视频处理和加密,此级别是指硬件级 DRM
- Security Level 2 (L2):加密仍在 TEE 中执行,视频处理通过单独的视频软件或硬件完成,此级别仍是指硬件级 DRM
- Security Level 3 (L3):该设备不存在 TEE 环境,解密过程直接在浏览器中进行,此级别是指软件级 DRM
更高的 Widevine DRM 安全等级有什么用呢?
包括 Amazon Prime Video、BBC、Hulu、Netflix、Spotify 和 Disney+ 等在线流媒体平台使用 Widevine DRM 来管理优质内容的分发,并且锁定某些智能手机以不高于 480p 的分辨率播放电影或电视节目,锁定的原因是这些服务受到数字版权管理 (DRM)的保护,以防止这些视频文件的复制和未经授权的重新分发。
为了确保 Android 智能手机和许多其他设备免受盗版的侵害,这些流行的流媒体服务使用了 Google 的 Widevine DRM 平台,Widevine Cloud Licensing Service 由 Google 直接运营
开始动手 #
首先在 这里 可以使用设备型号或者设备代号检索你的 Android 设备是否已通过认证(下载 CSV 表格 查看)
以我的参考环境为例:
- 设备型号:Redmi K30 Pro Zoom Edition(国际版为 POCO F2 Pro)
- 出厂 Widevine DRM 安全等级 L1
必须
预装 GMS&GSF,且已经通过认证必须
已解锁 Bootloader必须
已经刷入 Magisk (以版本号 23.0 为例)非必须
已经刷入某类原生自定义 ROM- 对其他
必须
环境不一样的情况是否起作用不作保证
通过 SafetyNet 认证 #
打开 Magisk 在首页可以看到一个 Check SafetyNet
,可以看到
对于这种情况是由于我刷入了第三方的自定义 ROM,并且拥有一个错误的未经认证的 CTS 配置文件,这个问题会导致 Play Store 上一些 App 或 游戏显示与我们的设备不兼容,要解决这个问题,首先需要对 Google Play Service
开启 Magisk Hide
并且使用 随机包名
伪装来避过检测
接下来我们直接在 Magisk 模块仓库搜索并安装 MagiskHide Props Config
这个模块
完成后重启设备再次打开 Magisk 的 Check SafetyNet
,应该可以看到通过证明了
PS:对于部分小米/红米设备,如果上面步骤仍然修复不了 CTS 配置文件,请考虑使用 XiaomiCTSPass 项目
通过 GSF 认证 #
SafetyNet 认证已经通过了,接下来我们需要来认证自己设备的 GSF 服务,首先在 Play Store 下载一个名为 Device ID 的应用(对于国内用户可以👉 在这下载),打开并复制 Google Service Framework(GSF)
那行的 16 进位数字 ID
- 打开浏览器
- 进入 Google GSF ID 注册页面
- 使用 Google 账号登陆
- 在
Google 服务框架 Android ID
中粘贴刚才复制的十六进制 ID - 完成
进行人机身份验证
- 最后点击
注册
- 出现提示
已注册设备(ID 已转换成十进制数)
- 注册完成
后续步骤 #
上面的注册步骤完成了以后,我们需要在系统设置里找到 Google Play Store
强制停止运行、清除该应用所有数据和缓存,现在连上国际互联网以后,稍等几分钟(最长不超过 48 小时),再次打开 Play Store,你应该可以看到 Play 保护机制
里 设备已通过认证
了
现在可以搜索到 Netflix 并且没有出现不兼容的警告了
打开 DRM Info,可以看到我的设备已经恢复出厂的 L1 DRM 安全等级
完成,Enjoy!