剧集

碎片整理工具:#16 - WinDbg - 驱动程序验证程序

并非所有蓝屏死亡都很容易调试! 有时,需要启用额外的检查来帮助捕获 bug 设备驱动程序。 在碎片整理工具、乍得 Beeder 和 Larry Larsen 的这一集中,讨论将驱动程序验证程序与 WinDbg 结合使用,以跟踪损坏内核模式池内存的驱动程序。

使用的调试器命令:

  • !analyze -v
  • 。陷阱
  • ub
  • dp
  • 存款 保障 计划
  • dc
  • kv

请确保观看 Defrag Tools 第 1 集,了解如何获取 适用于 Windows 的调试工具以及如何设置符号和源代码解析所需的环境变量的说明。

资源:

Windows 调试工具

Windows 内部书籍工具(包括 NotMyFault)

从键盘强制系统崩溃

如何在基于 Windows 的系统上使用 NMI 生成完整的故障转储文件或内核故障转储文件

驱动程序验证程序选项

时间线:

[00:09] - 什么是驱动程序验证程序?
[01:54] - 使用 NotMyFault 导致缓冲区溢出
[06:04] - 查看 WinDbg 中的缓冲区溢出转储
[08:10] - 什么是 .trap 命令? (请参阅: x64 注册使用情况
[12:45] - 第一个转储是不确定的。 查看第二个缓冲区溢出转储。
[15:47] - 内存已损坏,但如何找出谁正在损坏它? 驱动程序验证程序!
[16:55] - 启动和配置驱动程序验证程序
[20:20] - 已启用验证程序,让我们崩溃系统!
[21:25] - 什么是特殊池?
[22:27] - 查看内存转储(已启用验证程序捕获)
[25:13] - 通过键盘强制挂起系统的内存转储
[28:00] - 通过 NMI 交换机强制挂起系统的内存转储
[31:52] - 高级/自定义驱动程序验证程序设置