c++ - EXE 或 DLL 镜像基址

标签 c++ windows portable-executable base-address

在 C++/windows 中有没有办法获取 exe/DLL 镜像基址? 谢谢:)

最佳答案

如果您将二进制文件加载到您自己的进程中,您可以使用 GetModuleHandle .它返回一个 HMODULE,但那是 the same as HINSTANCE and the base address .

如果你想知道二进制更喜欢哪个基地址,你应该阅读 PE 头。见 here并在 IMAGE_OPTIONAL_HEADER 中查找 ImageBase 字段。

编辑:GetModuleHandle(NULL) 将返回当前进程的基地址(尽管指定的类型是 HMODULE)。

关于c++ - EXE 或 DLL 镜像基址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4298331/

相关文章:

c# - 从 WindowsCE 上的非托管 C++ 应用程序调用 C# Dll

C++ 帮助连接 TCHAR

c++ - 有没有办法在每个启动的新进程上从 Windows 获取事件?

portable-executable - 为什么PE文件中存储的值是反的?

php - 在没有 WinVerifyTrust 的情况下检测数字签名

c++ - 显式实例化源文件中的定义时, header 中是否需要显式模板实例化声明?

c++ - 如何在opencv中访问RGB图像(3 channel 图像)的图像数据

.net - 为什么 UPX 不适用于 .NET 可执行文件?

python - 在 Windows 上从命令提示符或 "double click"检测脚本启动

windows - 如何以编程方式检查我运行的是 Windows 8.1?