寒江独钓
书籍均为精品二手图书品相85品以上,出库会经过高温消毒,书籍上架都会检测可保证正版!!
¥
17.8
2.4折
¥
75
九品
仅1件
作者谭文
出版社"电子工业出版社
ISBN9787121087967
出版时间2009
装帧平装
开本16开
纸张胶版纸
定价75元
货号982239389318905858
上书时间2024-10-04
商品详情
- 品相描述:九品
-
本店所售书籍均精品二手正版书书籍,严格审核品相为85品以上,出库会经过高温消毒,由于成本增加,所售书籍价格略高,运费首本5元,每增加一本运费加2元,每天下午2点前订单一般当天发出,最迟48小时内发出,二手书不保证100%没有任何笔记,有时会出现缺货现象,我们会第一时间告知您,感谢理解与支持。
- 商品描述
-
以下信息以网上匹配仅供参考,不支持以此为由退款
内容简介:
《寒江独钓——Windows内核安全编程》从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的核心组件的具体编程。主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及3类NDIS驱动),以及最新的WDF驱动开发模型。有助于读者熟悉Windows内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从Windows2000一直到目前最新的Windows7Beta版。
本书适合大专院校计算机系的学生、普通Windows程序员、Windows内核程序员、信息安全行业的程序员,以及希望了解Windows系统底层知识的计算机编程爱好者使用。阅读本书,需要读者有C语言、数据结构、操作系统和计算机网络的基础知识。
目录:
第1章内核上机指导1
Windows内核编程的动手有点麻烦,并不是仅仅安装一个独立的软件(比如VC)之后就可以安然地开始编写代码,然后运行了。需要下载开发包、配置开发环境、准备调试工具,可能还需要一些小工具协同工作。这一步拦住了不少的初学者。本章以详细图文攻略,来引导读者完成这一麻烦的步骤。
1.1下载和使用WDK2
1.1.1下载安装WDK2
1.1.2编写第一个C文件3
1.1.3编译一个工程5
1.2安装与运行6
1.2.1下载一个安装工具6
1.2.2运行与查看输出信息7
1.2.3在虚拟机中运行9
1.3调试内核模块9
1.3.1下载和安装WinDbg9
1.3.2设置WindowsXP调试执行10
1.3.3设置Vista调试执行11
1.3.4设置VMWare的管道虚拟串口11
1.3.5设置Windows内核符号表13
1.3.6实战调试first14
练习题16
第2章内核编程环境及其特殊性17
编写过驱动程序的读者可能会很熟悉这一切,但是对只从事过应用程序的读者而言,要理解内核编程环境的特殊性,就很需要一些功夫和悟性了。在应用程序中,多线程的情况已经带来了一定理解的困难;而内核代码呢?几乎无时无刻不运行在多线程之下。它从哪里开始?从哪里结束?它在什么进程内运行?这些问题一言难尽。
2.1内核编程的环境18
2.1.1隔离的应用程序18
2.1.2共享的内核空间19
2.1.3无处不在的内核模块20
2.2数据类型21
2.2.1基本数据类型21
2.2.2返回状态22
2.2.3字符串23
2.3重要的数据结构23
2.3.1驱动对象23
2.3.2设备对象25
2.3.3请求26
2.4函数调用28
2.4.1查阅帮助28
2.4.2帮助中有的几类函数30
2.4.3帮助中没有的函数32
2.5Windows的驱动开发模型32
2.6WDK编程中的特殊点33
2.6.1内核编程的主要调用源33
2.6.2函数的多线程安全性34
2.6.3代码的中断级36
2.6.4WDK中出现的特殊代码37
练习题38
第3章串口的过滤40
在安全软件的开发中,串口驱动的应用并不常见。但是本书以串口驱动作为第一个介绍的实例。为何?仅仅是因为串口简单。从简单的例子入手,可以为读者带来稍许轻松的感受。
3.1过滤的概念41
3.1.1设备绑定的内核API之一41
3.1.2设备绑定的内核API之二43
3.1.3生成过滤设备并绑定43
3.1.4从名字获得设备对象45
3.1.5绑定所有串口46
3.2获得实际数据47
3.2.1请求的区分47
3.2.2请求的结局48
3.2.3写请求的数据49
3.3完整的代码50
3.3.1完整的分发函数50
3.3.2如何动态卸载52
3.3.3完整的代码53
本章的示例代码53
练习题54
第4章键盘的过滤56
键盘是很重要的输入设备!这是因为我们用键盘录入信息、用键盘输入密码,甚至用键盘编程,也用键盘著书立说。对于黑客来说,使用庞大的计算机资源去破解那些坚不可摧的加密算法,哪如偷偷地记下用户用键盘输入的密钥更加简单呢?本章专注于键盘的保护。
4.1技术原理57
4.1.1预备知识57
4.1.2Windows中从击键到内核58
4.1.3键盘硬件原理60
4.2键盘过滤的框架61
4.2.1找到所有的键盘设备61
4.2.2应用设备扩展64
4.2.3键盘过滤模块的DriverEntry65
4.2.4键盘过滤模块的动态卸载66
4.3键盘过滤的请求处理68
4.3.1通常的处理68
4.3.2PNP的处理69
4.3.3读的处理70
4.3.4读完成的处理71
4.4从请求中打印出按键信息72
4.4.1从缓冲区中获得KEYBOARD_INPUT_DATA72
4.4.2从KEYBOARD_INPUT_DATA中得到键73
4.4.3从MakeCode到实际字符74
4.5Hook分发函数75
4.5.1获得类驱动对象76
4.5.2修改类驱动的分发函数指针77
4.5.3类驱动之下的端口驱动78
4.5.4端口驱动和类驱动之间的协作机制79
4.5.5找到关键的回调函数的条件80
4.5.6定义常数和数据结构80
4.5.7打开两种键盘端口驱动寻找设备81
4.5.8搜索在KbdClass类驱动中的地址83
4.6Hook键盘中断反过滤86
4.6.1中断:IRQ和INT86
4.6.2如何修改IDT87
4.6.3替换IDT中的跳转地址88
4.6.4QQ的PS/2反过滤措施90
4.7利用IOAPIC重定位中断处理函数90
4.7.1什么是IOAPIC90
4.7.2如何访问IOAPIC91
4.7.3编程修改IOAPIC重定位表92
4.7.4插入新的中断处理93
4.7.5驱动入口和卸载的实现95
4.8直接用端口操作键盘96
4.8.1读取键盘数据和命令端口96
4.8.2p2cUserFilter的最终实现97
本章的示例代码98
练习题99
第5章磁盘的虚拟100
CPU是计算机的核心,但是它不保存信息。如果它被窃,我们可以简单地购买一个新的。但是如果装满了机密信息的硬盘被窃了,那可就不是买一个新的就能弥补得了的。本章介绍硬盘内核魔术:虚拟硬盘。虚拟硬盘可以不被盗窃者利用吗?良好的设计可以做到这一点。
5.1虚拟的磁盘101
5.2一个具体的例子101
5.3入口函数102
5.3.1入口函数的定义102
5.3.2Ramdisk驱动的入口函数103
5.4EvtDriverDeviceAdd函数104
5.4.1EvtDriverDeviceAdd的定义104
5.4.2局部变量的声明105
5.4.3磁盘设备的创建105
5.4.4如何处理发往设备的请求107
5.4.5用户配置的初始化108
5.4.6链接给应用程序110
5.4.7小结111
5.5FAT12/16磁盘卷初始化111
5.5.1磁盘卷结构简介111
5.5.2Ramdisk对磁盘的初始化113
5.6驱动中的请求处理119
5.6.1请求的处理119
5.6.2读/写请求120
5.6.3DeviceIoControl请求122
5.7Ramdisk的编译和安装124
5.7.1编译124
5.7.2安装125
5.7.3对安装的深入探究125
练习题126
第6章磁盘过滤127
很多网吧的老板、公司的IT管理部门以及读者自己都很厌恶硬盘总是被病毒和木马搞得一团糟。一些简单的还原软件可以搞定这个问题:重启之后,对硬盘的修改都奇迹般地消失了。这是怎么实现的呢?本章告诉您答案。
6.1磁盘过滤驱动的概念128
6.1.1设备过滤和类过滤128
6.1.2磁盘设备和磁盘卷设备过滤驱动128
6.1.3注册表和磁盘卷设备过滤驱动129
6.2具有还原功能的磁盘卷过滤驱动129
6.2.1简介129
6.2.2基本思想130
6.3驱动分析130
6.3.1DriverEntry函数130
6.3.2AddDevice函数132
6.3.3PnP请求的处理136
6.3.4Power请求的处理140
6.3.5DeviceIoControl请求的处理140
6.3.6bitmap的作用和分析144
6.3.7boot驱动完成回调函数和稀疏文件150
6.3.8读/写请求的处理152
6.3.9示例代码160
6.3.10练习题161
第7章文件系统的过滤与监控162
硬盘是硬盘,而文件系统是文件系统,可是有的人总是把它们当做一回事。其实硬盘很简单,硬盘就是一个很简单的保存信息的盒子;而复杂的是文件系统,它很精妙地把简单的数据组织成复杂的文件。作为信息安全的专家,我们当然不能让文件系统脱离我们的控制之外。
7.1文件系统的设备对象163
7.1.1控制设备与卷设备163
7.1.2生成自己的一个控制设备165
7.2文件系统的分发函数166
7.2.1普通的分发函数166
7.2.2文件过滤的快速IO分发函数167
7.2.3快速IO分发函数的一个实现169
7.2.4快速IO分发函数逐个简介170
7.3设备的绑定前期工作172
7.3.1动态地选择绑定函数172
7.3.2注册文件系统变动回调173
7.3.3文件系统变动回调的一个实现175
7.3.4文件系统识别器176
7.4文件系统控制设备的绑定177
7.4.1生成文件系统控制设备的过滤设备177
7.4.2绑定文件系统控制设备178
7.4.3利用文件系统控制请求180
7.5文件系统卷设备的绑定183
7.5.1从IRP中获得VPB指针183
7.5.2设置完成函数并等待IRP完成184
7.5.3卷挂载IRP完成后的工作187
7.5.4完成函数的相应实现190
7.5.5绑定卷的实现191
7.6读/写操作的过滤193
7.6.1设置一个读处理函数193
7.6.2设备对象的区分处理194
7.6.3解析读请求中的文件信息195
7.6.4读请求的完成198
7.7其他操作的过滤202
7.7.1文件对象的生存周期202
7.7.2文件的打开与关闭203
7.7.3文件的删除205
7.8路径过滤的实现206
7.8.1取得文件路径的3种情况206
7.8.2打开成功后获取路径207
7.8.3在其他时刻获得文件路径209
7.8.4在打开请求完成之前获得路径名209
7.8.5把短名转换为长名211
7.9把sfilter编译成静态库212
7.9.1如何方便地使用sfilter212
7.9.2初始化回调、卸载回调和绑定回调213
7.9.3绑定与回调215
7.9.4插入请求回调216
7.9.5如何利用sfilter.lib218
本章的示例代码221
练习题221
第8章文件系统透明加密223
如何阻止企业的机密文件被主动泄密,但是又不用关闭网络、禁止U盘等手段重重束缚大家?很多迹象表明,文件系统透明加密是最优的选择。既然从前一章读者已经学会了控制文件系统,那么现在,该是我们摩拳擦掌,用它来保护我们的机密信息的时候了。
8.1文件透明加密的应用224
8.1.1防止企业信息泄密224
8.1.2文件透明加密防止企业信息泄密224
8.1.3文件透明加密软件的例子225
8.2区分进程226
8.2.1机密进程与普通进程226
8.2.2找到进程名字的位置227
8.2.3得到当前进程的名字228
8.3内存映射与文件缓冲229
8.3.1记事本的内存映射文件229
8.3.2Windows的文件缓冲230
8.3.3文件缓冲:明文还是密文的选择232
8.3.4清除文件缓冲233
8.4加密标识236
8.4.1保存在文件外、文件头还是文件尾236
8.4.2隐藏文件头的大小237
8.4.3隐藏文件头的设置偏移239
8.4.4隐藏文件头的读/写偏移240
8.5文件加密表241
8.5.1何时进行加密操作241
8.5.2文件控制块与文件对象242
8.5.3文件加密表的数据结构与初始化243
8.5.4文件加密表的操作:查询244
8.5.5文件加密表的操作:添加245
8.5.6文件加密表的操作:删除246
8.6文件打开处理248
8.6.1直接发送IRP进行查询与设置操作248
8.6.2直接发送IRP进行读/写操作250
8.6.3文件的非重入打开252
8.6.4文件的打开预处理255
8.7读写加密/解密260
8.7.1在读取时进行解密260
8.7.2分配与释放MDL261
8.7.3写请求加密262
8.8crypt_file的组装265
8.8.1crypt_file的初始化265
8.8.2crypt_file的IRP预处理266
8.8.3crypt_file的IRP后处理269
本章的示例代码272
练习题272
第9章文件系统微过滤驱动273
从来都不原地踏步的微软,早就准备好了下一代的文件系统过滤的框架、文档、代码例子。虽然本书的前两章的范例在Windows7上都还可以正常运行,但是如果不学习一下最新的接口,读者一定会觉得不自在。但是读者可以放心,在前面学习的基础上,了解新的接口是易如反掌的。
9.1文件系统微过滤驱动简介274
9.1.1文件系统微过滤驱动的由来274
9.1.2Minifilter的优点与不足275
9.2Minifilter的编程框架275
9.2.1微文件系统过滤的注册276
9.2.2微过滤器的数据结构277
9.2.3卸载回调函数280
9.2.4预操作回调函数281
9.2.5后操作回调函数284
9.2.6其他回调函数285
9.3Minifilter如何与应用程序通信288
9.3.1建立通信端口的方法288
9.3.2在用户态通过DLL使用通信端口的范例290
9.4Minifilter的安装与加载292
9.4.1安装Minifilter的INF文件293
9.4.2启动安装完成的Minifilter294
本章的示例代码295
练习题295
第10章网络传输层过滤296
笔者常常使用防火墙,它们看上去真的很神奇。如果怀疑自己的机器上有见不得人的进程打开了网络端口盗走机密信息,防火墙将提醒您,虽然防火墙并不知道它是否是一个木马。这是怎么做到的?本章为您揭晓谜底。
10.1TDI概要297
10.1.1为何选择TDI297
10.1.2从socket到Windows内核2
— 没有更多了 —
本店所售书籍均精品二手正版书书籍,严格审核品相为85品以上,出库会经过高温消毒,由于成本增加,所售书籍价格略高,运费首本5元,每增加一本运费加2元,每天下午2点前订单一般当天发出,最迟48小时内发出,二手书不保证100%没有任何笔记,有时会出现缺货现象,我们会第一时间告知您,感谢理解与支持。
以下为对购买帮助不大的评价