【发布时间】:2011-07-31 03:06:22
【问题描述】:
我一直在使用 Mark Russinovich 的 VMMap 来绘制我正在分析的进程的虚拟内存。使用 VirtualQueryEx,我可以遍历外部进程的空间并获取有关进程地址空间内的内存区域的信息。当然,这些区域与 VMMap 匹配,但 VirtualQueryEx 只告诉我内存是否已提交/保留/免费以及它是否是私有/共享/映像。
我找不到任何其他记录在案的方法来查询进程虚拟内存。 VMMap 似乎知道一种查询内存的方法,以了解它是“私有数据”还是“线程堆栈”。 VirtualQueryEx 将这两个标签都标记为 MEM_PRIVATE。那么 VMMap 是如何做出这种区分的呢?
我可以使用其他 API 函数来识别这些细节吗?
【问题讨论】:
标签: windows winapi visual-c++ memory kernel