如何加密程序以防止反汇编?

时间:2010-07-11 18:33:23

标签: encryption assembly obfuscation

我需要保护我的程序不被反汇编。第一次尝试是通过加密程序并在需要时解密其部分。也许在执行解密代码时再次加密。

请给我一个线索,如何创造这种防御方式。很明显没有这个任务很困难,但我没有找到很多资源。

如果您有任何网址可以分享有关此问题的信息,请分享。

4 个答案:

答案 0 :(得分:14)

这毫无意义。如果您没有硬件的控制和支持,则代码可以始终在可以读取解密指令的仿真器中运行。

保护数据而不是代码。

答案 1 :(得分:5)

这是错的:/。如果你加密/解密将要执行的每个函数,你的程序将具有......我不知道的速度。也许是一块石头?

如何完全防止拆卸没有好的解决方案。

答案 2 :(得分:3)

关于可执行代码的二进制级加密,请查看this articlethis one

除此之外,只需剥离调试符号并使用gcc的{​​{1}}标志;字节码会或多或少地无法解码。

答案 3 :(得分:0)

你必须明确解密组件,对吗?这意味着你已经向攻击者提供了解锁盒子的钥匙,对吗?那么,你是通过这样做获得了什么呢?