8.2.6 PEB —— PEB结构值不正确的问题

书中作者使用 dt _PEB xxxxxx 命令来查看当前进程的PEB结构。

实际操作后PEB结构显示的成员值:

8.2.6 PEB —— PEB结构值不正确的问题_第1张图片

作为进程链表的LDR结构居然没有值,这显然是不正常的,地址也没有输错,问题到底出在哪里呢?

书中提到PEB位于用户态空间,可能有多个进程共享同一个PEB,所以在查看之前须使用 .process 命令来设置当前隐含进程。

尝试后问题依然没有解决,查看WinDBG的帮助文档,.process 命令有一个参数 /p :

8.2.6 PEB —— PEB结构值不正确的问题_第2张图片

作用是在访问前将指定进程内所有可翻译的页表项翻译为物理地址。

再次尝试 .process /p xxxxxx,问题解决:

8.2.6 PEB —— PEB结构值不正确的问题_第3张图片

由此看来问题的原因应该是未将xxxxxx翻译为正确的物理地址所导致的。

你可能感兴趣的:(8.2.6 PEB —— PEB结构值不正确的问题)