【发布时间】:2017-01-25 04:49:04
【问题描述】:
我只想允许特定的 DLL 执行我在我挂钩的函数上编写的代码。如果不执行堆栈跟踪,如何获取调用者的模块名称?
【问题讨论】:
标签: c++ winapi reverse-engineering
我只想允许特定的 DLL 执行我在我挂钩的函数上编写的代码。如果不执行堆栈跟踪,如何获取调用者的模块名称?
【问题讨论】:
标签: c++ winapi reverse-engineering
获取堆栈跟踪以查找函数的返回地址,例如 CaptureStackBackTrace。
然后通过GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 调用GetModuleHandleEx 以获取包含该代码的模块句柄。
最后,调用GetModuleFileName 查找与该模块关联的文件名。
【讨论】:
_ReturnAddress()