从逆向工程中保护 C++ DLL

Secure C++ DLL from reverse engineering

我有一个必须保护的 C++ DLL。我的意思是我的问题是,当我使用反编译器时,我可以看到我的函数名称,然后这很容易逆转。

所以我的问题是:如何保护我的代码以隐藏函数名称、变量等以防止逆向工程? 我一直在寻找混淆但从未找到本机 C++ 代码的解决方案(仅托管代码)。

谢谢。

你能写一个脚本来遍历 .cpp 和 .h 文件并使函数名称成为一些随机的乱码吗?

如果函数名称是泄露的,请编写一个小程序来检查文本文件(在编译它们之前)并更改所有函数名称。

我不知道这是否有帮助,但它至少会隐藏名字。

您可以为此使用预处理器。例如,只需构建一个包含所有函数名称的列表并给它们起无用的名称,如下所示:

#define FunctionFoo  f1
#define FunctionBar  f2
etc

在您的源代码中,您将继续通过函数的真实名称(FunctionFoo 等)调用函数,但在编译后,剩下的将是无意义的名称,例如 f1f2