【问题标题】:Windbg vtop outputs physical address larger than memoryWindbg vtop 输出物理地址大于内存
【发布时间】:2021-05-27 11:39:55
【问题描述】:

我正在研究 Windows 内核的内部结构,我正在研究的一件事是分页和虚拟地址在 Windows 中的工作方式。我正在尝试使用 windbg 的 !vtop 函数时发现奇怪的事情,我得到了一个不可能的物理地址?

例如,这是我的!process 0 0 命令的输出:

进程 fffffa8005319b30 SessionId:无 Cid:0104 Peb:7fffffd8000 ParentCid:0004 DirBase:a8df3000 ObjectTable:fffff8a0002f6df0 HandleCount:29。 图片:smss.exe

当我运行!vtop a8df3000 fffffa8005319b30 时。我得到以下结果:

lkd> !vtop a8df3000 fffffa8005319b30 Amd64VtoP:虚拟 fffffa80`05319b30,pagedir a8df3000 Amd64VtoP:PML4E a8df3fa8 Amd64VtoP:PDPE 2e54000 Amd64VtoP:PDE 2e55148 Amd64VtoP:大页面映射 phys 1`3eb19b30 虚拟地址 fffffa8001f07310 转换为物理地址 13eb19b30

我遇到的问题是我运行此测试的虚拟机只有 4GB,13eb19b30 是 5,346,794,288...

当我运行 !dd 13eb19b30dd fffffa8001f07310 时,我得到了相同的结果,所以 windows 似乎能够以某种方式访问​​这个物理地址......有人知道这是怎么做到的吗?

I found this post on Cheat Engine that looks like he had a similar problem to me. But they found no solution in that case either

【问题讨论】:

  • 我转储暂停了我的虚拟机,然后能够发现我在虚拟机中查看的内存的实际偏移量是 0x40000000 (1GB)。但我不明白这种差异在哪里起作用

标签: windows windbg paging huge-pages


【解决方案1】:

我看到你已经发布了这是 RESE,我也看到它不明白你在做什么。

我发现了一些差异

您似乎使用了PFN a8df3000,但似乎windbg 似乎使用了PFN of 187000

btw pfn iirc 应该是dirbase & 0xfffff000

对于虚拟地址,您似乎也在使用进程的 EPROCESS 地址
您确定这是您要使用的正确虚拟地址吗?

您似乎也在使用 lkd,它是本地内核调试提示符

我希望你明白 lkd 不是真正的内核调试

【讨论】:

  • 哦,抱歉,我知道错误 PFN 中的混乱来自何处。所以 187000 是系统进程的目录库。我正在测试 187000 和 a8df3000 并得到相同的结果。但我将编辑原始帖子,使其使用 a8df3000。但我要做的就是将 eprocess 结构的虚拟地址转换为物理地址。我确实相信我所做的是有效的,因为物理地址和虚拟地址打印的内容与运行 dd 命令的输出相同。
【解决方案2】:

所以我想我终于能够对这个问题给出一个合理的答案。事实证明,vmware 似乎并没有真正暴露给 VM 连续内存,而是将其分割成不同的内存“运行”。我能够通过使用波动性来确认这一点:

$ python vol.py -f ~/Desktop/Win7SP1x64-d8737a34.vmss vmwareinfo --verbose |较少的 魔术:0xbad1bad1(版本 1) 组数:0x5c 文件偏移量 PhysMem 偏移量大小 ------------ -------------- ---------- 0x000010000 0x000000000000 0xc0000000 0x0c0010000 0x000100000000 0xc0000000

这是一篇关于波动性的 github wiki 文章,其中更详细地介绍了:volatility

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 2021-10-28
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 2010-09-26
    相关资源
    最近更新 更多