嗨,所以我只是想学习逆向工程,当我在 IDA pro 中打开我的程序时,我找到了这个地址sub_11330(重新设置为 0)https://gyazo.com/1c34d2c31f29583f05d0dd4d956d6f74但是当我尝试挂钩此功能时,地址GetModuleHandle(NULL) + 0x11330没有' t 工作,所以我只是尝试打印函数的基地址,std::cout << (DWORD)callme - (DWORD)GetModuleHandle(NULL)当我尝试使用此地址时,它可以工作(0x1128a),为什么我无法使用 IDA 找到它?对不起,如果我不清楚,如果你不能理解我想解释的内容,我会重新写我的帖子。
这就是我上钩的方式
int WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
std::cout << "injected" << std::endl;
Detour((PBYTE)GetModuleHandle(NULL) + 0x1128a, (PBYTE)&func);
}
return true;
}
我的函数 detours 只是更改了函数的前 5 个字节,这个可以工作我正在调试模式下使用 vs2015 编译我的程序是一个用 C++ 编写的控制台应用程序