首页 > 解决方案 > 获取进程 c++ 使用的所有区域的列表

问题描述

使用 Process Hacker 或 x64dbg 等工具时,有一个 Memory tap(x64dbg Memory Map)。有没有办法让所有这些区域都显示在 C++ 中,并带有相应的基地址和大小?

我知道如何获取所有模块,但这只会给我图像,而不是映射或私有区域。

正如你在图片中看到的,我想要绿色的,而不仅仅是红色的。如果您需要任何进一步的信息,请告诉我。

在此处输入图像描述

编辑:我使用的平台是 Windows。

Edit2:我通过循环 VirtualQuery 并添加 Base + Region Size 将VirtualQuery 返回的空闲区域上的 Can't VirtualAlloc帖子更改为我的需要,从而找到了解决方案。

感谢你的帮助!

标签: c++windowsmemoryregion

解决方案


在 Linux 上,您可以使用/proc( doc )。

  • /proc/<pid>/map_files- 有关内存映射文件的信息
  • /proc/<pid>/maps- 内存映射到可执行文件和库文件 (2.4)

推荐阅读