【问题标题】:For online Android games, what services are available to ensure the integrity of the APK file to prevent cheating?对于在线安卓游戏,有哪些服务可以保证APK文件的完整性,防止作弊?
【发布时间】:2020-04-25 07:20:36
【问题描述】:

假设我开发了一个与 Android 服务器交互的在线游戏。我要确保在给定用户设备上运行的 APK 文件是我上传到 Google Play 商店的 APK。 (意思是,我试图避免有人从设备中提取 APK、对其进行破解、将其侧载回设备然后使用它来玩游戏的情况。

是否有 Google、Play Store、Android 等提供的服务可以做到这一点?例如,Play 商店可能具有该 APK 文件的 SHA256 校验和。由于我的游戏与 Google Play 集成(用于保存您的游戏和进度),是否可以调用一些服务来比较当前运行的游戏与 Play 商店注册的游戏?

我的想法是我不能向我的应用程序本身添加验证,因为有足够动力的改装者可能只是绕过或伪造。我希望平台级别可能存在一些东西。

提前致谢!

【问题讨论】:

标签: android google-play-services google-play-games


【解决方案1】:

这似乎是SafetyNet Attestation API 的用途。

【讨论】:

  • 接近但不完全。虽然我担心在 Root 上运行的用户能够在运行时修改游戏,但我看到的是有些网站会获取 APK,对其进行广泛破解,然后与其他用户共享。您共享的 SafetyNetAttestation API 不能直接解决此问题。被黑 APK 的用户可能拥有完全干净的 Android 设备,但只是通过允许从不受信任的来源安装来侧载被黑 APK。
  • 没用过,也不敢自称专家。尽管如此,apkPackageNameapkCertificateDigestSha256 在证明响应中的存在,结合声明,“......您的服务器正在与您的正版应用程序交互......”,强烈建议我证明包括一个完整的应用程序签名验证。这是有道理的;如果SafetyNet 信任设备/OS,它肯定可以信任设备/OS 进行可靠的签名检查。
猜你喜欢
  • 2017-04-20
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
  • 2013-12-24
  • 2014-09-17
  • 1970-01-01
  • 2022-10-15
相关资源
最近更新 更多