我最近听说一家软件安全公司可以在逆向工程和代码修改方面使您的代码免受黑客攻击。他们的技术是这样的:
他们在代码中的多个检查点中插入校验和,以保护它们之间的代码。当代码流在每个检查点执行时,都会检查校验和,如果代码被篡改,则校验和失败,您就知道代码已被修改。如果删除了一个检查点,那么下一个检查点也将失败,因为检查点已被删除。
购买他们的服务将完全超出我的项目(Android 应用程序)的预算,但我想自己实现该技术。
有人可以提供一些有关如何实现此类内容的见解吗?此外,如果还有其他方法可以用来防止代码修改,请分享。
(澄清一下,我知道混淆、奇怪的误导代码逻辑和编写伪造的方法以进一步使代码难以阅读,我也会应用这些方法)
最佳答案
prevent code modification techniques
没有任何技巧可以完全避免逆向工程。
您基本上无法保护您的应用程序不被修改。并且您放置在那里的任何保护都可以禁用/删除。 如果您可以选择包含共享库,则可以在 C++ 中包含所需的代码以验证文件大小、集成等
关于Java——防止代码修改技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42841919/