我想通过使用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
答案 0 :(得分:0)
user32.dll
不会导出NtUserMessageCall
供公众使用(仅限内部使用),因此您无法使用GetProcAddress
按名称获取其地址。您必须找到另一种技术,例如下载和解析您正在使用的DLL版本的符号文件(.PDB
)。