Windows内核编程
全新正版 极速发货
¥
67.92
5.7折
¥
119
全新
库存7件
作者(美)帕维尔·约西福维奇
出版社机械工业出版社
ISBN9787111684756
出版时间2021-06
装帧平装
开本16开
定价119元
货号1202409736
上书时间2024-11-21
商品详情
- 品相描述:全新
- 商品描述
-
目录
译者序
章 Windows内部概览
1.1 进程
1.2 虚拟内存
1.2.1 页状态
1.2.2 系统内存
1.3 线程
1.4 系统服务
1.5 系统总体架构
1.6 句柄和对象
1.6.1 对象名称
1.6.2 访问已经存在的对象
第2章 开始内核开发
2.1 安装工具
2.2 创建一个驱动程序项目
2.3 DriverEntry和Unload例程
2.4 部署驱动程序
2.5 简单的跟踪
2.6 练习
2.7 总结
第3章 内核编程基础
3.1 内核编程的一般准则
3.1.1 未处理的异常
3.1.2 终止
3.1.3 函数返回值
3.1.4 IRQL
3.1.5 C++用法
3.1.6 测试和调试
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.2.1 将信息传递给驱动程序
4.2.2 客户程序/驱动程序之间的通信协议
4.2.3 创建设备对象
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.3.1 本地内核调试
5.3.2 本地内核调试教程
5.4 完整内核调试
5.4.1 配置目标机
5.4.2 配置宿主机
5.5 内核驱动程序调试教程
5.6 总结
第6章 内核机制
6.1 中断请求级别
6.1.1 提升和降低IRQL
6.1.2 线程优先级与IRQL
6.2 延迟过程调用
6.3 异步过程调用
6.4 结构化异常处理
6.4.1 使用__try/__except
6.4.2 使用__try/__finally
6.4.3 使用C++ RAII代替__try/__finally
6.5 系统崩溃
6.5.1 崩溃转储信息
6.5.2 分析转储文件
6.5.3 系统挂起
6.6 线程同步
6.6.1 互锁操作
6.6.2 分发器对象
6.6.3 互斥量
6.6.4 快速互斥量
6.6.5 信号量
6.6.6 事件
6.6.7 执行体资源
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.5.1 缓冲I/O
7.5.2 直接I/O
7.5.3 IRP_MJ_DEVICE_CONTROL的用户缓冲区
7.6 汇总:Zero驱动程序
7.6.1 使用预编译头
7.6.2 DriverEntry例程
7.6.3 读分发例程
7.6.4 写分发例程
7.6.5 测试应用
7.7 总结
第8章 进程和线程通知
8.1 进程通知
8.2 实现进程通知
8.2.1 DriverEntry例程
8.2.2 处理进程退出通知
8.2.3 处理进程创建通知
8.3 将数据提供给用户模式
8.4 线程通知
8.5 映像载入通知
8.6 练习
8.7 总结
第9章 对象和注册表通知
9.1 对象通知
9.1.1 操作前回调
9.1.2 操作后回调
9.2 进程保护者驱动程序
9.2.1 对象通知注册
9.2.2 管理受保护的进程
9.2.3 操作前回调
9.2.4 客户应用
9.3 注册表通知
9.3.1 处理操作前通知
9.3.2 处理操作后回调
9.3.3 性能考虑
9.4 实现注册表通知
9.4.1 处理注册表回调
9.4.2 修改后的客户程序代码
9.5 练习
9.6 总结
0章 文件系统小过滤驱动
10.1 简介
10.2 装入与卸载
10.3 初始化
10.3.1 操作回调注册
10.3.2 高度
10.4 安装
10.4.1 INF文件
10.4.2 安装驱动程序
10.5 处理I/O操作
10.5.1 操作前回调
10.5.2 操作后回调
10.6 删除保护驱动程序
10.6.1 处理创建前回调
10.6.2 处理设置信息前回调
10.6.3 重构
10.6.4 将驱动程序通用化
10.6.5 测试修改后的驱动程序
10.7 文件名
10.7.1 文件名的各个部分
10.7.2 RAII FLT_FILE_NAME_INFORMATION包装器
10.8 另一个删除保护驱动程序
10.8.1 处理创建前回调和设置信息前回调
10.8.2 测试驱动程序
10.9 上下文
10.10 初始化I/O请求
10.11 文件备份驱动程序
10.11.1 创建后回调
10.11.2 写前回调
10.11.3 清理后回调
10.11.4 测试驱动程序
10.11.5 恢复备份
10.12 用户模式通信
10.12.1 创建通信端口
10.12.2 用户模式连接
10.12.3 发送和接收消息
10.12.4 增强文件备份驱动程序
10.12.5 用户模式客户程序
10.13 调试
10.14 练习
10.15 总结
1章 其他主题
11.1 驱动程序签名
11.2 驱动程序验证器
11.3 使用原生API
11.4 过滤驱动程序
11.4.1 过滤驱动程序的实现
11.4.2 附加过滤器
11.4.3 在任意时刻附加过滤器
11.4.4 过滤器的清理
11.4.5 基于硬件的过滤驱动程序的更多内容
11.5 设备监视器
11.5.1 增加过滤设备
11.5.2 移除过滤设备
11.5.3 初始化和卸载
11.5.4 处理请求
11.5.5 测试驱动程序
11.5.6 请求的结果
11.6 驱动程序挂钩
11.7 内核库
11.8 总结
内容摘要
在Windows系统中没有什么比内核更强大了,但是如何编写内核驱动程序来利用这种强大能力呢?本书描述了如何编写Windows系统的软件内核驱动程序,这类驱动程序不涉及硬件,只依赖于系统本身:进程、线程、模块、注册表等。内核代码可用于监视重要事件,在需要时阻止某些事件的发生,读者可以通过编写各种过滤器来拦截驱动程序中的调用。本书的内容从基本概念到实际应用,较为深入地解析了Windows内核技术,适合具有一定Windows应用开发经验的中不错读者阅读。
主编推荐
1.本书内容详实、深入浅出、案例丰富,是 Windows内核开发工程师推荐的参考资料,也可供相关专业的在校学生和入门者学习参考。2.本书是近年来少见的关于 Windows 内核开发的参考书籍。3.读者可以从https://github.com/zodiacon/windowskernelprogrammingbook 下载本书配套代码及后续例程的更新,还可以通过 zodiacon@live.com 联系作者,也可以通过 holly.lee@gmail.com 与译者联系。
— 没有更多了 —
以下为对购买帮助不大的评价