第6章 内核机制

系统讲解IRQL、DPC、APC、SEH、崩溃转储、线程同步、分发器对象、高IRQL自旋锁和工作项。 覆盖25个本页目录坐标。

直觉起点

、、、、共同构成本页坐标。系统讲解IRQL、DPC、APC、SEH、崩溃转储、线程同步、分发器对象、高IRQL自旋锁和工作项。

内核编程必须同时画三张图:调用图说明用户请求、系统回调或I/O如何进入驱动;对象图说明DriverObject、DeviceObject、IRP、回调Cookie、上下文和池块由谁拥有;时间图说明注册、并发回调、注销、排空和卸载的先后。少一张图,表面可用的驱动也可能在压力或卸载时蓝屏。

常见误区与故障注入

四类样本与验收

样本注入方式必查证据通过条件
基线固定快照、sys/PDB和输入状态码、IRQL、对象与日志与预测一致
边界空缓冲、短输出、断开客户端长度、Information、引用不越界不泄漏
失败错IRQL、竞态、Verifier规则首错栈和责任层故障可定位
恢复清理或快照后同输入重放模块、服务、池、回调状态回到基线

练习

小结

  • IRQL:连接“读取当前IRQL”的内核契约与证据。
  • DPC/APC:连接“选择延迟机制”的内核契约与证据。
  • SEH:连接“隔离异常路径”的内核契约与证据。
  • 分发器对象:连接“分析崩溃转储”的内核契约与证据。
  • 自旋锁与工作项:连接“选择同步原语”的内核契约与证据。
  • 本页25个目录坐标全部进入实验链,不以泛化驱动主题替代原书内容。

术语表

讨论

评论区加载中…