作品简介

在Windows系统中没有什么比内核更强大了,但是如何编写内核驱动程序来利用这种强大能力呢?这本书为读者描述如何编写Windows系统的软件内核驱动程序。这些驱动程序不涉及硬件,而是处理系统本身:进程、线程、模块、注册表等等。内核代码可用于监视重要事件,防止在需要时发生某些事件。读者可以通过编写各种过滤器来拦截驱动程序中感兴趣的调用。

作者:帕维尔·约西福维奇。

作品目录

  • 译者序
  • 第1章 Windows内部概览
  • 1.1 进程
  • 1.2 虚拟内存
  • 1.3 线程
  • 1.4 系统服务
  • 1.5 系统总体架构
  • 1.6 句柄和对象
  • 第2章 开始内核开发
  • 2.1 安装工具
  • 2.2 创建一个驱动程序项目
  • 2.3 DriverEntry和Unload例程
  • 2.4 部署驱动程序
  • 2.5 简单的跟踪
  • 2.6 练习
  • 2.7 总结
  • 第3章 内核编程基础
  • 3.1 内核编程的一般准则
  • 3.2 调试构建与发布构建
  • 3.3 内核API
  • 3.4 函数和错误代码
  • 3.5 字符串
  • 3.6 动态内存分配
  • 3.7 链表
  • 3.8 驱动程序对象
  • 3.9 设备对象
  • 3.10 总结
  • 第4章 驱动程序:从头到尾
  • 4.1 简介
  • 4.2 驱动程序初始化
  • 4.3 客户程序代码
  • 4.4 Create和Close分发例程
  • 4.5 DeviceIoControl分发例程
  • 4.6 安装与测试
  • 4.7 总结
  • 第5章 调试
  • 5.1 Debugging Tools for Windows
  • 5.2 WinDbg简介
  • 5.3 内核调试
  • 5.4 完整内核调试
  • 5.5 内核驱动程序调试教程
  • 5.6 总结
  • 第6章 内核机制
  • 6.1 中断请求级别
  • 6.2 延迟过程调用
  • 6.3 异步过程调用
  • 6.4 结构化异常处理
  • 6.5 系统崩溃
  • 6.6 线程同步
  • 6.7 高IRQL同步
  • 6.8 工作项目
  • 6.9 总结
  • 第7章 I/O请求包
  • 7.1 IRP简介
  • 7.2 设备节点
  • 7.3 IRP和I/O栈位置
  • 7.4 分发例程
  • 7.5 访问用户缓冲区
  • 7.6 汇总:Zero驱动程序
  • 7.7 总结
  • 第8章 进程和线程通知
  • 8.1 进程通知
  • 8.2 实现进程通知
  • 8.3 将数据提供给用户模式
  • 8.4 线程通知
  • 8.5 映像载入通知
  • 8.6 练习
  • 8.7 总结
  • 第9章 对象和注册表通知
  • 9.1 对象通知
  • 9.2 进程保护者驱动程序
  • 9.3 注册表通知
  • 9.4 实现注册表通知
  • 9.5 练习
  • 9.6 总结
  • 第10章 文件系统小过滤驱动
  • 10.1 简介
  • 10.2 装入与卸载
  • 10.3 初始化
  • 10.4 安装
  • 10.5 处理I/O操作
  • 10.6 删除保护驱动程序
  • 10.7 文件名
  • 10.8 另一个删除保护驱动程序
  • 10.9 上下文
  • 10.10 初始化I/O请求
  • 10.11 文件备份驱动程序
  • 10.12 用户模式通信
  • 10.13 调试
  • 10.14 练习
  • 10.15 总结
  • 第11章 其他主题
  • 11.1 驱动程序签名
  • 11.2 驱动程序验证器
  • 11.3 使用原生API
  • 11.4 过滤驱动程序
  • 11.5 设备监视器
  • 11.6 驱动程序挂钩
  • 11.7 内核库
  • 11.8 总结
展开全部