首页 > 解决方案 > 通过虚拟地址获取心理地址的位置

问题描述

我正在使用内核调试器并想知道虚拟地址的心理内存中的页框。例如我有以下0xfffff12345678911(只是例子)。我已经执行了以下命令!pte 0xfffff12345678911,在结果中,我得到 PTE VA 的数据0xfffff22233378911包含“ 0000000000000000”为什么我得到零?地址只是示例

标签: kernelwindbgwindows-kernel

解决方案


查找特定二进制文件的 _EPROCESS

0: kd> !process 0 0 cmd.exe

PROCESS ffffb70d1ee22080
    SessionId: 15  Cid: 2b3c    Peb: c064f0d000  ParentCid: 2bc8
    DirBase: 40ad1002  ObjectTable: ffffa68b45e532c0  HandleCount:  69.
    Image: cmd.exe  

使用所有.force decodeptes和 .cache .force decodeuser将进程上下文设置为 _EPROCESS of Interest并重新加载用户

0: kd> .process /p /r /P ffffb70d1ee22080
Implicit process is now ffffb70d`1ee22080
Loading User Symbols

现在在 pte 中查看指定进程上下文中的某个虚拟地址
让我们搜索任意字符串地址

0: kd> s -a cmd l?80000 "Windows Command Processor"
00007ff6`19e5b49f  57 69 6e 64 6f 77 73 20-43 6f 6d 6d 61 6e 64 20  Windows Command

卫生检查以确认此地址是否属于我们有问题的二进制文件

0: kd> lm a 00007ff6`19e5b49f
start             end                 module name
00007ff6`19e00000 00007ff6`19e65000   cmd        (deferred)

是的

让我们拿到pte

0: kd> !pte 00007ff6`19e5b49f
                                           VA 00007ff619e5b49f
PXE at FFFFFCFE7F3F97F8    PPE at FFFFFCFE7F2FFEC0    PDE at FFFFFCFE5FFD8678    PTE at FFFFFCBFFB0CF2D8
contains 0A00000012EDD867  contains 0A000000048E9867  contains 0A000001298EA867  contains 820000007F382005
pfn 12edd     ---DA--UWEV  pfn 48e9      ---DA--UWEV  pfn 1298ea    ---DA--UWEV  pfn 7f382     -------UREV

让我们使用 !process 输出中的 pfn 和 va 确认 !vtop

0: kd> !vtop 40ad1000 00007ff619e5b49f
Amd64VtoP: Virt 00007ff619e5b49f, pagedir 0000000040ad1000
Amd64VtoP: PML4E 0000000040ad17f8
Amd64VtoP: PDPE 0000000012eddec0
Amd64VtoP: PDE 00000000048e9678
Amd64VtoP: PTE 00000001298ea2d8
Amd64VtoP: Mapped phys 000000007f38249f
Virtual address 7ff619e5b49f translates to physical address 7f38249f.
0: kd> 

那正确吗 ?

0: kd> !db 7f38249f l20
#7f38249f 57 69 6e 64 6f 77 73 20-43 6f 6d 6d 61 6e 64 20 Windows Command
#7f3824af 50 72 6f 63 65 73 73 6f-72 3c 2f 64 65 73 63 72 Processor</descr
0: kd>  

                                                                                              

推荐阅读