如何从同一进程中钩接函数并获取调用函数的地址

How to hook a function from the same process and get the address of the caller function?

本文关键字:函数 获取 调用 地址 进程      更新时间:2023-10-16

我需要这样做,以避免从注入代码调用进程的函数。

所以想要钩住这个函数来检查调用是来自当前模块还是来自外部模块,然后我比较执行调用的指令的地址与模块的地址范围。

谢谢

MSVC有一个内在的_ReturnAddress,它给出了函数调用者的返回地址,因此,您可以在protected function的最开始调用它,并将其与指定的模块(base, length)进行比较,以检测是否允许执行函数的左部分。