【59】Windows文件系统过滤驱动开发教程(第二版) PDF 电子版

[复制链接]
12下一页

该用户从未签到

759

主题

763

帖子

4660

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4660
发表于 2017-12-28 16:01:54 | 显示全部楼层 |阅读模式

想要查看内容赶紧注册登陆吧!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
TIM截图20171228134855.png
目  录
基 础 篇

第1章 内核上机指导        2
1.1  下载和使用WDK        2
1.1.1  下载并安装WDK        2
1.1.2  编写第一个C文件        4
1.1.3  编译一个工程        5
1.2  安装与运行        6
1.2.1  下载一个安装工具        6
1.2.2  运行与查看输出信息        7
1.2.3  在虚拟机中运行        8
1.3  调试内核模块        9
1.3.1  下载和安装WinDbg        9
1.3.2  设置Windows XP调试执行        9
1.3.3  设置Vista调试执行        10
1.3.4  设置VMware的管道虚拟串口        11
1.3.5  设置Windows内核符号表        12
1.3.6  实战调试first        13
第2章 内核编程环境及其特殊性        16
2.1  内核编程的环境        16
2.1.1  隔离的应用程序        16
2.1.2  共享的内核空间        17
2.1.3  无处不在的内核模块        18
2.2  数据类型        19
2.2.1  基本数据类型        19
2.2.2  返回状态        19
2.2.3  字符串        20
2.3  重要的数据结构        21
2.3.1  驱动对象        21
2.3.2  设备对象        22
2.3.3  请求        24
2.4  函数调用        25
2.4.1  查阅帮助        25
2.4.2  帮助中有的几类函数        26
2.4.3  帮助中没有的函数        28
2.5  Windows的驱动开发模型        29
2.6  WDK编程中的特殊点        30
2.6.1  内核编程的主要调用源        30
2.6.2  函数的多线程安全性        30
2.6.3  代码的中断级        32
2.6.4  WDK中出现的特殊代码        32
第3章 字符串与链表        35
3.1  字符串操作        35
3.1.1  使用字符串结构        35
3.1.2  字符串的初始化        36
3.1.3  字符串的拷贝        37
3.1.4  字符串的连接        38
3.1.5  字符串的打印        38
3.2  内存与链表        40
3.2.1  内存的分配与释放        40
3.2.2  使用LIST_ENTRY        41
3.2.3  使用长长整型数据        43
3.3  自旋锁        44
3.3.1  使用自旋锁        44
3.3.2  在双向链表中使用自旋锁        45
3.3.3  使用队列自旋锁提高性能        46
第4章 文件、注册表、线程        47
4.1  文件操作        47
4.1.1  使用OBJECT_ATTRIBUTES        47
4.1.2  打开和关闭文件        48
4.1.3  文件读/写操作        51
4.2  注册表操作        53
4.2.1  注册表键的打开        53
4.2.2  注册表键值的读        55
4.2.3 注册表键值的写        57
4.3  时间与定时器        58
4.3.1  获得当前“滴答”数        58
4.3.2  获得当前系统时间        58
4.3.3  使用定时器        59
4.4  线程与事件        62
4.4.1  使用系统线程        62
4.4.2  在线程中睡眠        63
4.4.3  使用同步事件        64
第5章 应用与内核通信        67
5.1  内核方面的编程        68
5.1.1  生成控制设备        68
5.1.2  控制设备的名字和符号链接        70
5.1.3  控制设备的删除        71
5.1.4  分发函数        72
5.1.5  请求的处理        73
5.2  应用方面的编程        74
5.2.1  基本的功能需求        74
5.2.2  在应用程序中打开与关闭设备        75
5.2.3  设备控制请求        75
5.2.4  内核中的对应处理        77
5.2.5  结合测试的效果        79
5.3  阻塞、等待与安全设计        80
5.3.1  驱动主动通知应用        80
5.3.2  通信接口的测试        81
5.3.3  内核中的缓冲区链表结构        83
5.3.4  输入:内核中的请求处理中的安全检查        84
5.3.5  输出处理与卸载清理        85
第6章 64位和32位内核开发差异        88
6.1  64位系统新增机制        88
6.1.1  WOW64子系统        88
6.1.2  PatchGuard技术        91
6.1.3  64位驱动的编译、安装与运行        91
6.2  编程差异        92
6.2.1  汇编嵌入变化        92
6.2.2  预处理与条件编译        93
6.2.3  数据结构调整        93
开 发 篇

第7章 串口的过滤        96
7.1  过滤的概念        96
7.1.1  设备绑定的内核API之一        97
7.1.2  设备绑定的内核API之二        98
7.1.3  生成过滤设备并绑定        98
7.1.4  从名字获得设备对象        100
7.1.5  绑定所有串口        101
7.2  获得实际数据        102
7.2.1  请求的区分        102
7.2.2  请求的结局        103
7.2.3  写请求的数据        104
7.3  完整的代码        105
7.3.1  完整的分发函数        105
7.3.2  如何动态卸载        106
7.3.3  代码的编译与运行        107
第8章 键盘的过滤        109
8.1  技术原理        110
8.1.1  预备知识        110
8.1.2  Windows中从击键到内核        110
8.1.3  键盘硬件原理        112
8.2  键盘过滤的框架        112
8.2.1  找到所有的键盘设备        112
8.2.2  应用设备扩展        115
8.2.3  键盘过滤模块的DriverEntry        117
8.2.4  键盘过滤模块的动态卸载        117
8.3  键盘过滤的请求处理        119
8.3.1  通常的处理        119
8.3.2  PNP的处理        120
8.3.3  读的处理        121
8.3.4  读完成的处理        122
8.4  从请求中打印出按键信息        123
8.4.1  从缓冲区中获得KEYBOARD_INPUT_DATA        123
8.4.2  从KEYBOARD_INPUT_DATA中得到键        124
8.4.3  从MakeCode到实际字符        124
8.5  Hook分发函数        126
8.5.1  获得类驱动对象        126
8.5.2  修改类驱动的分发函数指针        127
8.5.3  类驱动之下的端口驱动        128
8.5.4  端口驱动和类驱动之间的协作机制        129
8.5.5  找到关键的回调函数的条件        129
8.5.6  定义常数和数据结构        130
8.5.7  打开两种键盘端口驱动寻找设备        131
8.5.8  搜索在KbdClass类驱动中的地址        133
8.6  Hook键盘中断反过滤        135
8.6.1  中断:IRQ和INT        136
8.6.2  如何修改IDT        136
8.6.3  替换IDT中的跳转地址        137
8.6.4  QQ的PS/2反过滤措施        139
8.7  直接用端口操作键盘        139
8.7.1  读取键盘数据和命令端口        139
8.7.2  p2cUserFilter的最终实现        140
第9章 磁盘的虚拟        143
9.1  虚拟的磁盘        143
9.2  一个具体的例子        143
9.3  入口函数        144
9.3.1  入口函数的定义        144
9.3.2  Ramdisk驱动的入口函数        145
9.4  EvtDriverDeviceAdd函数        146
9.4.1  EvtDriverDeviceAdd的定义        146
9.4.2  局部变量的声明        146
9.4.3  磁盘设备的创建        147
9.4.4  如何处理发往设备的请求        148
9.4.5  用户配置的初始化        149
9.4.6  链接给应用程序        151
9.4.7  小结        152
9.5  FAT12/16磁盘卷初始化        152
9.5.1  磁盘卷结构简介        152
9.5.2  Ramdisk对磁盘的初始化        154
9.6  驱动中的请求处理        160
9.6.1  请求的处理        160
9.6.2  读/写请求        160
9.6.3  DeviceIoControl请求        162
9.7  Ramdisk的编译和安装        164
9.7.1  编译        164
9.7.2  安装        164
9.7.3  对安装的深入探究        165
第10章 磁盘的过滤        167
10.1  磁盘过滤驱动的概念        167
10.1.1  设备过滤和类过滤        167
10.1.2  磁盘设备和磁盘卷设备过滤驱动        167
10.1.3  注册表和磁盘卷设备过滤驱动        168
10.2  具有还原功能的磁盘卷过滤驱动        168
10.2.1  简介        168
10.2.2  基本思想        169
10.3  驱动分析        169
10.3.1  DriverEntry函数        169
10.3.2  AddDevice函数        170
10.3.3  PnP请求的处理        174
10.3.4  Power请求的处理        178
10.3.5  DeviceIoControl请求的处理        178
10.3.6  bitmap的作用和分析        182
10.3.7  boot驱动完成回调函数和稀疏文件        187
10.3.8  读/写请求的处理        190
第11章 文件系统的过滤与监控        199
11.1  文件系统的设备对象        200
11.1.1  控制设备与卷设备        200
11.1.2  生成自己的一个控制设备        201
11.2  文件系统的分发函数        202
11.2.1  普通的分发函数        202
11.2.2  文件过滤的快速IO分发函数        203
11.2.3  快速IO分发函数的一个实现        205
11.2.4  快速IO分发函数逐个简介        206
11.3  设备的绑定前期工作        207
11.3.1  动态地选择绑定函数        207
11.3.2  注册文件系统变动回调        208
11.3.3  文件系统变动回调的一个实现        209
11.3.4  文件系统识别器        211
11.4  文件系统控制设备的绑定        2

下载地址(回复可见):
游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

该用户从未签到

0

主题

21

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2018-1-17 02:08:15 | 显示全部楼层
indows文件系统过滤驱动开发教程(第二版) PDF 电子版
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

79

帖子

81

积分

邀请会员

积分
81
QQ
发表于 2018-10-4 22:45:12 | 显示全部楼层
谢谢分享
12345677890
回复

使用道具 举报

该用户从未签到

0

主题

13

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2018-10-6 22:28:04 | 显示全部楼层
好几本书都失效了  楼主!!
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

35

帖子

35

积分

邀请会员

积分
35
QQ
发表于 2020-4-4 17:15:38 | 显示全部楼层
读书增长见识  谢谢楼主
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

63

帖子

63

积分

邀请会员

积分
63
发表于 2020-11-16 23:22:28 | 显示全部楼层
好东西谢谢分享
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

18

帖子

18

积分

邀请会员

积分
18
发表于 2020-11-21 14:15:16 | 显示全部楼层
66666666666
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

38

帖子

38

积分

邀请会员

积分
38
发表于 2021-10-4 14:05:26 | 显示全部楼层
Windows文件系统过滤驱动开发教程
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

236

帖子

248

积分

邀请会员

积分
248
发表于 2022-4-24 10:21:07 | 显示全部楼层
Windows文件系统过滤驱动开发教程
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

236

帖子

248

积分

邀请会员

积分
248
发表于 2022-7-5 08:40:45 | 显示全部楼层
Windows文件系统过滤驱动开发教程
回复 支持 反对

使用道具 举报

12下一页
快速回复高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表