【发布时间】:2012-02-06 13:11:57
【问题描述】:
我想知道是否有人知道如何获取您所在函数的地址。假设我挂钩 MessageBoxA()。当调用 MessageBoxA() 时,我称我为名为 hookMessageboxA() 的伪函数。从 hookMessageBoxA() 中,我想吐出调用 MessageBoxA() 的位置。那有意义吗?可能需要使用汇编,但我不确定如何完成。
下面的代码是错误的,这只是我认为可能必须做的事情。非常感谢任何有关如何在汇编和 C++ 中执行此操作的帮助!!!!!!
DWORD address = 0x00;
_asm {
mov address, ebp
}
DWORD keyPointerAddr = (DWORD)hInstance + 0x1000 - address + 0x00401000;
char str[255];
sprintf(str,"That call is coming from [%d]\n", keyPointerAddr);
【问题讨论】:
标签: c++ winapi assembly reverse-engineering