重命名 win32api 函数以进行混淆

Renaming win32api functions for obfuscation

是否可以在 C++ 中重命名 win32api 函数?

我很好奇,因为我想混淆我程序的函数名称。

我愿意接受任何重命名方法。

假设我有一个函数:

somewin32apifunc();

如何将其重命名为:

renamedwin32apifunc();

您不能在kernel32.dll、user32.dll等上自行重命名function import table, but you can circumvent it altogether by calling LoadLibrary and GetProcAddress中的函数。然后,您可以通过返回的函数指针调用Win32 API函数.

这样,唯一需要导入的两个函数就是 LoadLibraryA 和 GetProcAddress。

这将使对可执行文件进行逆向工程变得更加困难(但绝非不可能!)。

有关保护可执行文件免遭逆向工程的更多一般信息,请参阅this question