2010-06-27 66 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

操作系統必須保持關於用戶進程的虛擬存儲器映射的信息。諸如運行時鏈接器和加載器之類的工具明確地處理給定進程的虛擬內存佈局。所有這些都是整個操作系統的重要但正常的服務。

然後是監控端 - 每個進程使用多少內存,每個進程使用哪些庫,頁面錯誤率是多少等等。所有這些都必須可用於用戶級工具。

事物的安全性方面是通過用戶和組權限進行管理的,或者是功能。普通用戶不能檢查其他用戶進程的內存,但應能檢查自己的進程。管理員應該能夠訪問系統提供的所有信息。