EXE 或 DLL 映像基地址

2024-03-10

C++/Windows 中有没有办法获取 exe/DLL 映像基地址? 谢谢 :)


如果您将二进制文件加载到您自己的进程中,您可以使用获取模块句柄 http://msdn.microsoft.com/en-us/library/ms683199(VS.85).aspx。它返回一个 HMODULE,但那就是与 HINSTANCE 和基地址相同 https://devblogs.microsoft.com/oldnewthing/20040614-00/?p=38903.

如果你想知道二进制文件喜欢什么基地址,你应该阅读 PE 标头。看here http://msdn.microsoft.com/en-us/library/ms809762.aspx并在 IMAGE_OPTIONAL_HEADER 中查找 ImageBase 字段。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EXE 或 DLL 映像基地址 的相关文章

  • 便携式终端

    有没有办法根据所使用的操作系统自动使用正确的 EOL 字符 我在想类似的事情std eol 我知道使用预处理器指令非常容易 但很好奇它是否已经可用 我感兴趣的是 我的应用程序中通常有一些消息 稍后我会将这些消息组合成一个字符串 并且我希望将
  • 改进C++逐行读取文件的能力?

    我正在解析大约 500GB 的日志文件 我的 C 版本需要 3 5 分钟 我的 Go 版本需要 1 2 分钟 我正在使用 C 的流来流式传输文件的每一行以进行解析 include
  • 删除对象时指针自动指向空

    假设我有一个对象和其他几个不同类类型的对象中的 10 个指向它的指针 如果对象被删除 这些指针必须设置为空 通常我会将对象的类与具有指向它的指针的类互连 以便它可以通知它们它正在被删除 并且它们可以将它们的指针设置为空 但这也有一个负担 即
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • 从 C# 中的 .NET SecureString 读取单个字符?

    WPF 的PasswordBox 返回一个SecureString 它对窥探者隐藏密码 问题是你最终必须获得密码的值 而我在网上找到的建议都涉及将值复制到字符串中 这会让你回到窥探者的问题 IntPtr bstr Marshal Secur
  • 最后从同一类中的其他构造函数调用构造函数

    我在这里读到可以调用另一个构造函数从同一类中的另一个构造函数调用构造函数 https stackoverflow com questions 829870 calling constructor from other constructor
  • 拥有一个大的工作流程还是几个较小的特定工作流程更好?

    我需要构建一个从服务器获取文件并移动到另一台服务器的应用程序 有人建议我考虑使用 Windows Workflow Foundation WF 我开始构建工作流程 但它变得越来越混乱 我不确定我是否以最好的方式做到了这一点 以下是基本工作流
  • 与 std::current_exception 关联的数据的生命周期

    考虑以下代码 std exception ptr eptr std current exception const char msg 0 try if eptr std exception ptr std rethrow exception
  • 使用 linq 获取分组的逗号分隔值

    我想要第三列 项目 其中包含分组的值 var dic new Dictionary
  • 如何验证用户输入的数字实际上是c中有效的无符号整数

    我正在用 c 编写一个程序 它在命令行上接受用户的参数 但该参数必须是有效的无符号整数 例如 如果用户输入值 1 那么我将不得不打印错误代码 或者 如果用户输入高于 4294967295 的任何内容 那么我也会打印错误代码 我不确定如何检查
  • C++ std::vector 搜索值

    我正在尝试优化std vector 搜索 基于索引的迭代向量并返回与 搜索 条件匹配的元素 struct myObj int id char value std vector
  • 循环引用导致 Automapper 堆栈溢出

    我正在使用 Automapper 将 NHibernate 代理对象 DTO 映射到我的 CSLA 业务对象 我正在使用 Fluent NHibernate 创建映射 这工作正常 我遇到的问题是Order有一个集合OrderLines其中每
  • ListView onScroll 事件

    我正在编写一个简单的 C 应用程序 我需要 Listview 上的 onScroll 事件 所以我创建了ListviewEx类继承原来的ListView 我找到了如何从 WinAPI 检测滚动消息 并修改了 WndProc 方法 现在我有这
  • 如何使用 RSA-SHA1 算法对 xml 元素进行签名?

    我需要使用 RSA SHA1 算法签署 并最终验证 XML 文档的节点之一 w3 org 链接 https www w3 org TR xmlsec algorithms RSA SHA1 网址 http www w3 org 2000 0
  • 如何用 C 语言编写 gRPC 客户端/服务器?

    我有一个用 C 编写的程序 想在其中包含 gRPC 然而 gRPC 的 API 是用 C 编写的 我查看了这里并让 foo client 和 foo server 正常工作 https github com Juniper grpc c t
  • 当我转向依赖注入时,using 语句会发生什么情况

    我目前正在使用以下代码 public class MyProvider public MyProvider public void Fetch using PopClient popClient new PopClient 因为我希望能够对
  • 如何以编程方式打开 Run c++?

    问题是如何从 C 以编程方式打开 Run 我知道有一些功能可以替代它 例如 shellexec winexec 但对于某些任务 我只需要出现 运行 对话框 运行对话框位于 shell32 dll 中 使用该函数RunFileDlg 显示对话
  • C++ 将控制台文本颜色设置为 RGB 值

    我想将控制台的文本颜色设置为 RGB 颜色 我创建了一个函数来获取控制台的 ColorTable 并更改其中的颜色 但它不起作用 我不知道如何将文本颜色设置为颜色表中的值 因此我只是更改整个颜色表 但它没有执行任何操作 void setCo
  • 日期时间的小时数?以 24 小时格式

    所以我有这个日期时间 我想要做的是获取小时 但以 24 小时格式显示 例如 如果时间是下午 2 20 23我想将其转换为 14 20 就这样了 我正在使用 Visual C 有什么想法请提出来 谢谢 我有这样的东西 public stati
  • 验证 C# 中的属性

    让我们建议我有一个接口并从中继承类 internal interface IPersonInfo String FirstName get set String LastName get set internal interface IRe

随机推荐