我想通过使用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/