我在我的android应用程序上做了最后的修饰。该应用程序是一款完整的网络游戏,因此在运行时始终使用互联网。我想防止某人从电话中提取.apk,反编译代码,然后更改并扩展我的类,以对服务器做不好的事情。该应用程序设置网络的方法如下:


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


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

最佳答案

无论您对代码做什么,潜在的攻击者都可以通过发现可行的任何方式对其进行更改。您基本上不能保护您的应用程序不被修改。并且您放置在其中的所有保护措施都可以被禁用/删除。

您可以采取不同的技巧来使“黑客攻击”更加困难。例如,使用混淆(如果其Java代码)。这通常会大大降低反向工程的速度。

10-08 11:20