3

我最近听说有一家软件安全公司可以让你的代码在逆向工程和代码修改方面防黑客攻击。他们的技术是这样的:

他们在代码中的多个检查点插入校验和,以保护它们之间的代码。由于在每个检查点执行代码流,都会检查校验和,如果代码已被篡改,则校验和失败,并且您知道代码已被修改。如果删除了一个检查点,那么下一个检查点也将失败,因为一个检查点已被删除。

购买他们的服务将完全超出我的项目(Android 应用程序)的预算,但我想自己实现该技术。

有人可以就如何实施这样的事情提供一些见解吗?此外,如果有其他方法可以使用 το 防止代码修改,请分享。

(只是为了澄清一下,我知道混淆、奇怪的误导性代码逻辑以及编写虚假方法以进一步使代码难以阅读,并且也会应用这些方法)

4

2 回答 2

2

防止代码修改技术

没有任何技巧可以完全避免逆向工程。

您基本上无法保护您的应用程序不被修改。您在那里放置的任何保护都可以被禁用/删除。如果您可以选择包含共享库,您可以在 C++ 中包含所需的代码以验证文件大小、集成等

于 2017-03-16T18:21:24.350 回答
1

防黑客是一个定义非常松散的术语。即使您对代码的各个部分实施校验和,您还需要注意许多其他漏洞,这些漏洞将超出修改源代码(如注入、身份验证等)的范围。我对您的建议是不要担心如果有人要修改您的源代码(包括散列和加盐密码、加密数据传输等),如何防止有人修改您的代码并更专注于保护易受攻击的区域。

于 2017-03-16T18:34:12.640 回答