我想通过使用GetProcAddress查找某些API的地址,例如NtUserMessageCall。
但是出现此错误:“找不到指定的过程。”

HMODULE hUser32 = LoadLibrary(TEXT("User32.dll"));//handle user32
LPCSTR APIName = "NtUserMessageCall";
FARPROC function_address = GetProcAddress(hNtdll, APIName);//retrun Null
int temp = GetLastError();//Error 127
hUser32 = GetModuleHandle(TEXT("User32.dll"));//retrun Null
temp = GetLastError();//Error 127

最佳答案

user32.dll不会导出NtUserMessageCall供公众使用(仅限内部使用),因此您无法使用GetProcAddress按名称获取其地址。您将必须找到另一种技术,例如下载和解析所使用的DLL版本的符号文件(.PDB)。

关于c - 如何在Windows中加载 native API?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23580682/

10-10 07:19