"THREADSTACK0"-00000B68这个模块地址要怎么取 驱动读写 易 C++都试了都取不到 但是CE就可以
这个是守望先锋游戏的模块
ProcessID = 取进程ID (“Overwatch.exe”, )读写. 安装驱动 ()调试输出 (读写. 取模块地址 (ProcessID, “THREADSTACK0”)) 读写. 卸载驱动 ()
__int64 GetModuleAddress(int ProcessID, LPCTSTR ModuleName)
{
if (ProcessID == 0)
{
return 0;//无进程ID,无法取到模块,返回0
}
__int64 pProcessImageBase = NULL;
MODULEENTRY32 me32 = { 0 };
me32.dwSize = sizeof(MODULEENTRY32);
HANDLE hModuleSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, ProcessID);
if (INVALID_HANDLE_VALUE == hModuleSnap)
{
return pProcessImageBase;
}
BOOL bRet = ::Module32First(hModuleSnap, &me32);
while (strcmp((char*)me32.szModule, ModuleName) != 0)
{
Module32Next(hModuleSnap, &me32);
}
pProcessImageBase = (__int64)me32.modBaseAddr;
::CloseHandle(hModuleSnap);
return pProcessImageBase;
}
C++的取模块地址写法奉上 测试过正常的xxxx.exe xxxxx.dll都可以取到 但是这个游戏的 THREADSTACK0 模块地址取不到
|