逆向工程中的安全C ++ DLL

时间:2015-12-03 15:36:27

标签: c++ dll reverse-engineering

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

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

感谢。

2 个答案:

答案 0 :(得分:2)

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

#define FunctionFoo  f1
#define FunctionBar  f2
etc

在您的来源中,您将继续按其真实姓名(FunctionFoo等)调用函数,但在编译时,剩下的所有内容都是无意义的名称,如f1f2

答案 1 :(得分:-1)

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

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

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