Android 解析保存游戏高分安全

Android 解析保存游戏高分安全,android,security,parse-platform,Android,Security,Parse Platform,我想将Android游戏的分数保存到te parse.com后端。 因此,我将创建一个ParseObject并将其保存在后台: ParseObject gameScore = new ParseObject("GameScore"); gameScore.put("score", 1337); gameScore.put("playerName", "Sean Plott"); gameScore.saveInBackground(); 现在有人可以撤销engeener我的Android应用程

我想将Android游戏的分数保存到te parse.com后端。 因此,我将创建一个ParseObject并将其保存在后台:

ParseObject gameScore = new ParseObject("GameScore");
gameScore.put("score", 1337);
gameScore.put("playerName", "Sean Plott");
gameScore.saveInBackground();
现在有人可以撤销engeener我的Android应用程序,获得parse客户端密钥和应用程序id,并为他的用户写任何他想要的高分,parse.com后端? 还是说Parse已经以某种方式阻止了这种情况


Thx

是的,您需要额外的安全性,这些API密钥可能会被盗

混淆是防止有人对代码进行反向工程的第一步。然而,像API键这样的东西通常存储为
字符串
,因此它们不会被混淆。没有真正完美的解决方案。无论你做什么,有人致力于它将能够偷走它。然而,有一些方法会使这一过程更加困难

一些示例:

  • 使用NDK
  • 使用加密
  • 在png文件中隐藏数据
  • 将应用程序设置为将不带API密钥的请求发送到代理服务器以接收请求,将API密钥附加到请求末尾,发送请求,然后接收请求的响应并将其返回给应用程序
  • 为了保护公钥免受恶意用户和黑客的攻击,请不要将其作为文本字符串嵌入任何代码中。相反,在运行时从片段构造字符串或使用位操作(例如,与其他字符串的异或)隐藏实际键。密钥本身不是秘密信息,但您不想让黑客或恶意用户轻易地用另一个密钥替换公钥。

有关该主题的更多信息:

相关SO问题:


添加一个模糊器怎么样?是的,这是可能的,但也不是100%的节省。我的问题是,我是否需要一些额外的安全性来将分数写入parse,或者parse的概念(api_key,client_key)是否“保存足够”?Thx,您提到了代理服务器解决方案。但是每个人都可以向代理发送请求并发出请求?使用此解决方案,没有比将密钥直接存储在应用程序中更安全的了?