有哪些保护Exe文件免受反向工程的方法。有许多软件打包工具可用于打包Exe文件。在http://c-madeeasy.blogspot.com/2011/07/protecting-your-c-programexe-files-from.html中提到了这种方法。这种方法有效吗?
这里有一篇文章,重点介绍如何确保混淆转换产生的结果在计算上保证难度: http://www.springerlink.com/content/41135jkqxv9l3xme/
这篇文章概述了各种控制流转换方法,包括那些提供安全保证的方法: http://www.springerlink.com/content/g157gxr14m149l13/
这篇论文在二进制程序中低开销地混淆控制流: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.167.3773&rank=2
现在,可以采取很多措施来防止程序被反编译。但如果反编译后的程序无法理解,你可能就不会费心去做这些;这是我会采取的方法。
如果您坚持防止反编译,可以通过考虑反编译的目的来攻击它。 反编译基本上是提出您可以将目标程序的每个字节转换为某些代码的想法。 使其失败的一种方法是确保应用程序似乎可以将每个字节用作计算机指令和数据,即使实际上并没有这样做,并且决定这样做的决策被上述方法混淆。 这种方法的一个变体是在代码中有很多条件分支,实际上这些条件分支是无条件的(使用控制流混淆方法); 分支的另一侧落入看似有效但跳转到现有代码中的疯狂位置的无意义代码。 这个想法的另一个变体是将程序实现为混淆的解释器,并将实际功能实现为一组解释的数据。 让此类程序失败的有趣方法是在运行时生成代码并在执行之前立即执行它; 大多数传统语言(如C)几乎无法表示这一点。反编译始终是可能的。你链接网站上的声明
通过打包/压缩可执行文件(.exe),可以消除这种威胁。
纯属谎言。