2010-06-27 70 views
2

我正在读这篇文章在MSDN上 "Managing Heap Memory in Win32"探索虚拟内存(ProcessWalker)

,并在其中他们解释有关名为ProcessWalker.exe

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

  1. 有没有人知道我可以从哪里下载这个工具。或者,也许ProcessWalker可能会被弃用。有谁知道任何其他这样的工具?

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

+1

是的,在大多数流行操作系统上可用的工具和许多其他此类调试工具实际上都是安全漏洞。 – 2010-06-27 02:05:43

+0

查看ReadProcessMemory/VirtualQueryEx的MSDN文档 – 2010-06-27 10:21:49

+0

感谢您的回复。我看着VirtualQueryEx()。但必须尝试一下。 – bits 2010-06-28 21:04:28

回答

4

17年是真的是很久以前。忘记所有关于GlobalAlloc和LocalAlloc的说法。 SysInternals'VMMap utility做了类似的工作,它非常出色。

+0

感谢vmmap提示。我下载了整个sysinternals套件,发现它非常有用。 – bits 2010-06-28 21:27:17

+0

虽然,我无法使用vmmap查看实际的内存内容,但多数民众赞成在...我的意图是学习虚拟内存管理,它的帮助很多。 – bits 2010-06-28 21:28:12

+0

是的,盯着2千兆字节的十六进制转储不会让你在任何地方。你可以从调试器中获得。 – 2010-06-28 21:56:49

1
+0

那么,我不能从一些文件共享网站下载东西。 它必须来自经过验证的来源。 但是无论如何,我的目的是由sysinternals套件来完成的(正如Han的评论所建议的那样)。 – bits 2010-06-28 21:29:45

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供参考链接。如果链接页面更改,则仅链接答案可能会失效。 – dgw 2012-08-22 13:26:46

+0

@dgw:使用审阅工具时,实际阅读您正在审阅答案的问题可能会有所帮助。它特别要求链接下载ProcessWalker!你不能在答案中“包含二进制文件的基本部分”。 – bitmask 2012-08-22 16:41:26

1

操作系统必须保持关于用户进程的虚拟存储器映射的信息。诸如运行时链接器和加载器之类的工具明确地处理给定进程的虚拟内存布局。所有这些都是整个操作系统的重要但正常的服务。

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

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