



本书以为安全系统所开发的Windows驱动程序为例,由浅入深地介绍了Windows内核调试所需要的环境、工具、相关知识及技巧。书中列举了Windows内核编程开发者容易犯的各类错误,以及由此导致的不同缺陷的调试和解决方法。对远程调试、面向海量用户的内核驱动程序的质量控制、程序冲突、无文档编程等内核开发中常遇到的问题,也提供了对应的解决方案。本书适合具有C语言基础的计算机相关专业大中专院校学生、软件行业Windows相关的底层开发者、计算机安全行业的开发和研究人员阅读。
目录:
第1章 内核开发与调试的准备
1.1 环境部署和工具安装
1.2 WinDbg的用法和存在的各种问题
1.3 内核调试的实际操作示例
1.4 编写第一个例子
第2章 常见错误和非法地址访问蓝屏
2.1 非法指针导致的蓝屏
2.2 越界导致的蓝屏
2.3 非法地址执行导致的蓝屏
2.4 各类非法访问错误总结
第3章 内核开发中的泄漏、卡死与重入
3.1 内存泄漏
3.2 卡死
3.3 重入
第4章 用户环境缺陷的调试
4.1 与用户保持联系
4.2 建议用户使用转储文件协助调试
4.3 编写一个强制蓝屏工具
4.4 转储文件分析示例
第5章 海量用户项目开发与调试
5.1 “无法调试”的缺陷
5.2 模块划分为基础的调整
5.3 建立自监控机制
5.4 利用海量用户定位未知缺陷
第6章 内核挂钩与冲突问题调试
6.1 解决冲突的正确方式
6.2 挂钩的开发
6.3 冲突的发现、分析与解决
第7章 文件系统过滤与逆向调试
7.1 微过滤驱动
7.2 微过滤驱动的动态卸载问题
7.3 利用IDA Pro进行静态分析
7.4 IDA Pro分析和WinDbg调试的协同
第8章 非文档开发与调试
8.1 使用非文档方式定位函数
8.2 使用非文档方式探索内核功能
8.3 逆向Windows内核数据结构
8.4 实现非文档操作的编码实现
点击下载