重命名 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。
是否可以在 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。