c++ - 你能从被调用者那里得到调用者DLL或可执行模块吗

标签 c++ winapi reverse-engineering

我只想允许特定的 DLL 执行我在 Hook 的函数上编写的代码。如果不执行堆栈跟踪,您如何获取调用者的模块名称?

最佳答案

获取堆栈跟踪以查找函数的返回地址,例如 CaptureStackBackTrace .

然后调用GetModuleHandleEx传递 GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 以获取包含该代码的模块句柄。

最后,调用GetModuleFileName查找与该模块关联的文件名。

关于c++ - 你能从被调用者那里得到调用者DLL或可执行模块吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39540262/

相关文章:

c++ - C++ 标准中最令人惊讶的元素是什么?

c++ - 文件输入错误

c++ - 在 Visual Studio 中调试多线程程序时出现 "Step over"

c++ - 如何枚举已分配指定用户权限的所有 SID? C++

winapi - TCP SOCKET 句柄是否可继承?

android - 解释和理解 smali。有人可以帮我翻译吗?

c++ - 未作为最后一个参数传递时模板参数包扣除

c - 使用 CreateProcess() 启动进程时出现问题

audio - 关于如何解码数据包的线索,建议

java - 需要帮助来反编译 jar 文件、编辑类并保存为 jar 文件