windbg学习!vad
在ring0 !address不能提供详细的信息了
可以尝试用下!vad
!vad扩展显示一个或多个虚拟地址详细的虚拟地址描述符(virtual address descriptor (VAD))。
语法
- VAD-Root
- 指定要显示的VAD树的根的16进制地址。
- Flags
- 指定显示的格式。可能的值如下:
- 0
- 显示基于VAD-Root的整个VAD树。(这是默认情况。)
- 1
- 仅显示由VAD-Root指定的VAD。这种显示会包含更详细的分析。
参数
kd> !vad 821b3260 VAD level start end commit 821b3260 ( 0) 10 42 0 Mapped READWRITE Pagefile-backed section 8207a148 ( 2) 70 70 0 Mapped READWRITE Pagefile-backed section 81f472c0 ( 3) 80 17f 0 Mapped READWRITE Pagefile-backed section 8216a8f8 ( 1) 7c920 7c9b2 5 Mapped Exe EXECUTE_WRITECOPY \WINDOWS\system32\ntdll.dll一般可能要使用!vad xxx 1
kd> ? DriverEntry Evaluate expression: -124588016 = f892f010 kd> !vad f892f010 1 VAD @ f892f010 Start VPN 8b55ff8b End VPN 458b51ec Control Area 00000000 FirstProtoPte 00000000 LastPte 00000000 Commit Charge c483 (50307.) Secured.Flink 0 Blink 0 Banked/Extend 92e2c040 File Offset 0 PhysicalMapping ViewUnmap PrivateMemory EXECUTE_READ NOCACHE kd> !vad f892f010 VAD level start end commit e8f892f1 f892f010: Unable to get contents of VAD3可以看到,不设flag,可能无法显示.