8.2.6 PEB —— PEB结构值不正确的问题
书中作者使用 dt _PEB xxxxxx 命令来查看当前进程的PEB结构。
实际操作后PEB结构显示的成员值:
作为进程链表的LDR结构居然没有值,这显然是不正常的,地址也没有输错,问题到底出在哪里呢?
书中提到PEB位于用户态空间,可能有多个进程共享同一个PEB,所以在查看之前须使用 .process 命令来设置当前隐含进程。
尝试后问题依然没有解决,查看WinDBG的帮助文档,.process 命令有一个参数 /p :
作用是在访问前将指定进程内所有可翻译的页表项翻译为物理地址。
再次尝试 .process /p xxxxxx,问题解决:
由此看来问题的原因应该是未将xxxxxx翻译为正确的物理地址所导致的。