如何在 C++ 内部获取进程的基地址?
How to get the base address of a process in C++ Internally?
我知道我想要挂钩的函数位于 "ac_client.exe" + 63fe。如何找出运行可执行文件的基址是什么?
使用GetModuleHandler。传入 NULL
,像这样:
GetModuleHandler(NULL);
它将return当前运行模块(.exe
)的句柄,这实际上是它的基址。
如果您想知道不同(已加载)模块的基地址,例如 DLL
,则只需传递其名称即可。
最快的解决方案,特别是对于可能挂钩 GetModuleHandle 的游戏破解。
const auto peb = reinterpret_cast<PPEB>(__readfsdword(0x30));
const auto base = peb->Reserved3[1];
我知道我想要挂钩的函数位于 "ac_client.exe" + 63fe。如何找出运行可执行文件的基址是什么?
使用GetModuleHandler。传入 NULL
,像这样:
GetModuleHandler(NULL);
它将return当前运行模块(.exe
)的句柄,这实际上是它的基址。
如果您想知道不同(已加载)模块的基地址,例如 DLL
,则只需传递其名称即可。
最快的解决方案,特别是对于可能挂钩 GetModuleHandle 的游戏破解。
const auto peb = reinterpret_cast<PPEB>(__readfsdword(0x30));
const auto base = peb->Reserved3[1];