Android黑客预防

时间:2011-12-13 21:29:40

标签: java android

我正在对我的Android应用程序进行最后的修改。该应用程序是一个完整的网络游戏,因此它在运行时始终使用互联网。我想阻止有人从手机中提取.apk,反编译代码,然后更改和扩展我的类,以便对我的服务器做坏事。以下是该应用程序如何设置网络:

  • 客户端连接到服务器
  • 服务器向客户端发送用于加密的“会话密钥”
  • 服务器和客户端根据共享的密钥与加密数据进行通信

现在,我担心有人会反编译我的代码并进行更改,以便他们可以在游戏中做任何他们想做的事情。有没有办法确保类没有被更改?有没有办法在运行时检查.class文件的大小?有人有什么想法吗?

3 个答案:

答案 0 :(得分:3)

无论您对代码做什么,潜在的攻击者都能够以任何方式改变它,或者他认为这是可行的。您基本上无法保护您的应用程序不被修改。您放在那里的任何保护都可以被禁用/删除。

你可以采用不同的技巧让“黑客”变得更难。例如,使用模糊处理(如果是Java代码)。这通常会显着降低逆向工程的速度。

答案 1 :(得分:2)

正如大家所说,而且你可能知道,没有100%的安全性。但谷歌内置Android的地方是ProGuard

答案 2 :(得分:0)

如果您完全使用Java进行游戏,则可以使用ProGuard来混淆应用程序代码,因此当黑客将其转换为Smali时,代码很难让人阅读。

如果您可以选择包含共享库,则可以在C ++中包含所需的代码,以验证文件大小和集成等。