我最近听说过一家软件安全公司,它使您的代码在逆向工程和代码修改方面具有防黑客能力。他们的技术是:
它们在代码中的多个检查点插入校验和,以保护它们之间的代码。由于代码流在每个检查点执行,因此检查校验和,如果代码已被篡改,则校验和失败,您知道代码已经修改。如果删除了检查点,则下一个检查点也将失败,因为已删除检查点。
购买他们的服务将完全超出我的项目预算(一个Android应用程序)但是我想自己实现这个技术。
有人可以提供一些有关如何实施此类内容的见解吗?此外,如果有其他方法可以使用το防止代码修改请分享。
(只是为了澄清我意识到混淆,奇怪的误导性代码逻辑,并编写假的方法来进一步使代码难以阅读,并且也会应用这些方法)
答案 0 :(得分:2)
防止代码修改技术
完全避免逆向工程没有任何技巧。
您基本上无法保护您的应用程序不被修改。您放在那里的任何保护都可以被禁用/删除。 如果您可以选择包含共享库,则可以在C ++中包含所需的代码以验证文件大小,集成等。
答案 1 :(得分:1)
Hack-proof是一个非常松散定义的术语。即使您在代码的各个部分实现了校验和,还有许多其他漏洞需要注意,这些漏洞不会像修改注入,身份验证等那样修改源代码。我建议您不要担心如何防止有人修改您的代码并更多地关注保护易受攻击的区域如果他们修改您的源代码,包括哈希和盐渍密码,加密数据传输等。