标签: c++ winapi reverse-engineering
我只想让特定的DLL执行我在我挂钩的函数上编写的代码。如果没有执行堆栈跟踪,您如何获得调用者的模块名称?
答案 0 :(得分:4)
获取堆栈跟踪以查找函数的返回地址,例如使用CaptureStackBackTrace。
CaptureStackBackTrace
然后调用GetModuleHandleEx传递GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS以获取包含该代码的模块句柄。
GetModuleHandleEx
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
最后,调用GetModuleFileName以查找与该模块关联的文件名。
GetModuleFileName