【问题标题】:Secure way to store a highscore?存储高分的安全方式?
【发布时间】:2015-04-08 18:48:47
【问题描述】:

我有一个 Android 应用程序,我只是在共享首选项中保存高分。在有根设备上,您只需编辑 XML 并修改分数。因为在下一次更新中我计划添加 Google Play 排行榜,所以我需要安全地存储它们。现在,我只是保存它和它的盐渍哈希。但是有一个问题:可以使用 decompileandroid.com 轻松地对其进行反编译,并阅读我如何对其进行加盐并在之后重现该过程。

我希望能够同步离线制作的高分。这是一款非常简单的应用程序,绝对应该在公共汽车或火车上玩。

【问题讨论】:

  • 我认为如果您使用它,Google Play Service 会小心的
  • 我不会。我仍然需要离线存储高分,以便在您的手机在线时启动应用后同步它们。

标签: android security code-access-security


【解决方案1】:

由于客户控制着设备,并且游戏是离线玩的,所以它始终是可篡改的。设备上没有 root 无法访问的存储,也没有办法完全混淆客户端代码,以便用户无法对其进行逆向工程。您的选择是 1) 更改您的设计并需要更紧密的服务器端集成来检测作弊,或者 2) 尝试通过混淆 APK 并像您建议的完整性检查哈希那样设置可绕过的保护来使其更加困难。

【讨论】:

    【解决方案2】:

    您可以使用内部存储。详情在官方android开发者网站:http://developer.android.com/training/articles/security-tips.html

    希望对你有帮助。

    【讨论】:

    • 没用。如果有人根设备,文件将可以访问。
    • 现在我认为没有办法让应用程序 100% 安全。无论如何,您可以同时使用一些安全技术来提高应用程序的安全性。其中之一是混淆代码以避免在反编译应用程序时理解代码。它不是 100% 安全的,但理解代码的时间会增加很多。您可以使用 ProGuard:proguard.sourceforge.net/FAQ.html
    猜你喜欢
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    相关资源
    最近更新 更多