反调试/反拆卸资源

时间:2013-12-15 12:02:54

标签: debugging reverse-engineering

我想编写一个反调试/反反汇编程序,它将保护安全的二进制文件,防止在磁盘和内存(如加密)中被篡改。 什么是最好的资源(书籍)? (Mac OS X / iO最初,它可能移植到Windows,后者是android)。

1 个答案:

答案 0 :(得分:4)

无论源语言如何,通常认为在没有硬件的情况下保护可执行二进制文件不受逆向工程的影响是不可能的。您可以期望的最好的方法是使用混淆器使反汇编代码难以手动逆向工程。这将阻止低预算黑客,但对高预算黑客(公司级别)没有影响,这些黑客具有可以将混淆代码减少到最小执行路径的去混淆软件。在最好的情况下,它将延迟逆向工程。

然而,追加者可以成为保护低价值代码的有效手段。如果您编写的代码不值得去混淆,那么任何人都很难尝试去尝试。

编写一个好的混淆器需要从许多不同来源收集的专业知识。 C混淆器有一个annual contest。你可以从那里开始。请注意,大多数示例都是一般混淆器,但只是混淆源的示例。另请参阅this post to Programmers Stack Exchange

有少量商业产品,例如.NET的Rummage。恕我直言,除了低价值代码之外,少量的商业产品证明了该技术的无效性。