添加 Google 播放 "security metadata" 而不发布应用

Add Google Play "security metadata" without publishing an app

最近 Google 引入了 security metadata,它被添加到每个上传到 Google Play 的应用中。我们曾经有一个篡改保护,在运行时计算应用程序的签名(哈希)并检查它是否等于发布期间计算的哈希。这多年来一直运行良好,但现在 GP 正在通过添加安全元数据来修改应用程序的二进制文件。

不直接回答您的问题,抱歉,但无论如何发帖以防对您或处于相同情况的其他人有帮助:您是否考虑过验证 APK 的签名,而不是检查哈希? Apksig 是一个开源库,可以让您以更稳健的方式获得类似的结果。

  • 无法禁用 Google 播放安全元数据。
  • 不发布应用就无法获得
  • alpha 和 beta 渠道中的 APK 已修改(或应该修改),但前提是它们是在程序开始日期(2018-06-19 12:00 UTC)之后上传的。但是,APK 在 Beta 版和正式版中会有不同的元数据。
  • 散列解决方案将继续有效,但不是散列整个文件的解决方案。您可以考虑的替代方案包括散列 zip 条目或散列 classes.dex 文件。这些方法对其他开发人员很有效。

如果您偶尔在线访问(如果您正在检查哈希,我假设您这样做),另一个可行的选项是使用 SafetyNet attestation API 检查您的应用程序,并在服务器上离线验证签名.同样,许多知名开发人员成功地使用了它。