如何在寡妇中加载Native API?

时间:2014-05-10 11:48:29

标签: c

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

1 个答案:

答案 0 :(得分:0)

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