【问题标题】:Exploring Virtual Memory (ProcessWalker)探索虚拟内存 (ProcessWalker)
【发布时间】:2011-03-08 18:06:09
【问题描述】:

我在 MSDN 上阅读了这篇文章 "Managing Heap Memory in Win32"

他们在其中解释了一个名为 ProcessWalker.exe 的工具

在文章中他们解释说他们可以使用这个工具来探索任何进程的虚拟内存的内容。

  1. 有谁知道我可以从哪里下载这个工具。或者 ProcessWalker 可能已被弃用。有谁知道其他这样的工具吗?

  2. 而且我不明白这样的工具怎么可能存在,这样的工具不会导致安全漏洞吗?

【问题讨论】:

  • 是的,该工具和大多数流行操作系统上可用的许多其他此类调试工具实际上都存在安全漏洞。
  • 查看 ReadProcessMemory / VirtualQueryEx 的 MSDN 文档
  • 感谢您的回复。我查看了 VirtualQueryEx()。但必须尝试一下。

标签: c memory-management winapi virtual-memory heap-memory


【解决方案1】:

17 年是很久以前的事了。忘记它所说的关于 GlobalAlloc 和 LocalAlloc 的一切。 SysInternals 的VMMap utility 做了类似的工作,非常棒。

【讨论】:

  • 感谢 vmmap 提示。我下载了整个 sysinternals 套件,发现它非常有用。
  • 虽然使用 vmmap 看不到实际的内存内容,但没关系...我的目的是学习虚拟内存管理,它的帮助很大。
  • 是的,盯着 2 GB 的十六进制转储不会让您有任何收获。您可以从调试器中获取。
【解决方案2】:

【讨论】:

  • 好吧,我不能从一些文件共享网站下载东西。它必须来自经过验证的来源。但无论如何,我的目的是通过 sysinternals 套件实现的(正如 Han 的评论中所建议的那样)。
  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • @dgw:使用复习工具时,实际阅读您正在复习答案的问题可能会很有用。它特别要求提供下载 ProcessWalker 的链接!您不能在答案中“包含二进制文件的基本部分”。
【解决方案3】:

操作系统必须保留有关用户进程的虚拟内存映射的信息。运行时链接器和加载器等工具显式地操纵给定进程的虚拟内存布局。所有这些都是整个操作系统的重要但正常的服务。

然后是监控方面——每个进程使用了​​多少内存,每个进程使用了​​哪些库,页面错误率是多少,等等。所有这些都必须可供用户级工具使用。

事物的安全方面是通过用户和组权限或功能来管理的。普通用户不能检查其他用户进程的内存,但应该能够检查自己的进程。然后管理员应该能够访问系统提供的所有信息。

【讨论】:

    猜你喜欢
    • 2018-07-09
    • 2017-12-10
    • 1970-01-01
    • 2020-05-21
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    相关资源
    最近更新 更多