Windows内核安全与驱动开发
¥
77.3
5.6折
¥
139
九五品
仅1件
作者谭文 著
出版社电子工业出版社
ISBN9787121262159
出版时间2015-06
版次1
装帧平装
开本16开
纸张胶版纸
页数684页
字数99999千字
定价139元
上书时间2024-12-02
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:Windows内核安全与驱动开发
定价:139.00元
作者:谭文 著
出版社:电子工业出版社
出版日期:2015-06-01
ISBN:9787121262159
字数:1121000
页码:684
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
推荐购买:天书夜读——从汇编语言到Windows内核编程(电子书)本书是由《寒江独钓——Windows内核安全编程》与《天书夜读——从汇编语言到Windows内核编程》融合后全新改版,深入浅出地介绍了进行内核安全编程所需要的操作系统、汇编等基础知识。
内容提要
本书的前身是《天书夜读——从汇编语言到Windows内核编程》和《寒江独钓——Windows内核安全编程》。与Windows客户端安全软件开发相关的驱动程序开发是本书的主题。书中的程序使用环境从32位到64位,从Windows XP到Windows 8都有涉及,大部分程序不经过修改即可在Windows 10上运行。同时本书也深入浅出地介绍了进行内核安全编程所需要的操作系统、汇编等基础知识。本书共分三篇,基础篇囊括了驱动开发的基础知识,降低了入门的难度;开发篇介绍了在实际工作中可能遇到的各种开发需求的技术实现,包括:串口的过滤、键盘的过滤、磁盘的虚拟、磁盘的过滤、文件系统的过滤与监控、文件系统透明加密、文件系统微过滤驱动、网络传输层过滤、Windows过滤平台、NDIS协议驱动、NDIS小端口驱动、NDIS中间层驱动、IA-32汇编基础、IA-32体系中的内存地址、处理器权限级别切换、IA-32体系结构中的中断和Windows内核挂钩;高级篇包含了汇编语言、操作系统原理、处理器体系架构相关的内容。本书是由长期从事这个行业的工程师自己写的,所以处处以实用为准。对细节的考究主要体现在对实际问题的解决,而不是知识的详尽程度上。
目录
基 础 篇 章 内核上机指导21.1 下载和使用WDK21.1.1 下载并安装WDK21.1.2 编写第一个C文件41.1.3 编译一个工程51.2 安装与运行61.2.1 下载一个安装工具61.2.2 运行与查看输出信息71.2.3 在虚拟机中运行81.3 调试内核模块91.3.1 下载和安装WinDbg91.3.2 设置Windows XP调试执行91.3.3 设置Vista调试执行101.3.4 设置VMware的管道虚拟串口111.3.5 设置Windows内核符号表121.3.6 实战调试first13第2章 内核编程环境及其特殊性162.1 内核编程的环境162.1.1 隔离的应用程序162.1.2 共享的内核空间172.1.3 无处不在的内核模块182.2 数据类型192.2.1 基本数据类型192.2.2 返回状态192.2.3 字符串202.3 重要的数据结构212.3.1 驱动对象212.3.2 设备对象222.3.3 请求242.4 函数调用252.4.1 查阅帮助252.4.2 帮助中有的几类函数262.4.3 帮助中没有的函数282.5 Windows的驱动开发模型292.6 WDK编程中的特殊点302.6.1 内核编程的主要调用源302.6.2 函数的多线程安全性302.6.3 代码的中断级322.6.4 WDK中出现的特殊代码32第3章 字符串与链表353.1 字符串操作353.1.1 使用字符串结构353.1.2 字符串的初始化363.1.3 字符串的拷贝373.1.4 字符串的连接383.1.5 字符串的打印383.2 内存与链表403.2.1 内存的分配与释放403.2.2 使用LIST_ENTRY413.2.3 使用长长整型数据433.3 自旋锁443.3.1 使用自旋锁443.3.2 在双向链表中使用自旋锁453.3.3 使用队列自旋锁提高性能46第4章 文件、注册表、线程474.1 文件操作474.1.1 使用OBJECT_ATTRIBUTES474.1.2 打开和关闭文件484.1.3 文件读/写操作514.2 注册表操作534.2.1 注册表键的打开534.2.2 注册表键值的读554.2.3 注册表键值的写574.3 时间与定时器584.3.1 获得当前“滴答”数584.3.2 获得当前系统时间584.3.3 使用定时器594.4 线程与事件624.4.1 使用系统线程624.4.2 在线程中睡眠634.4.3 使用同步事件64第5章 应用与内核通信675.1 内核方面的编程685.1.1 生成控制设备685.1.2 控制设备的名字和符号链接705.1.3 控制设备的删除715.1.4 分发函数725.1.5 请求的处理735.2 应用方面的编程745.2.1 基本的功能需求745.2.2 在应用程序中打开与关闭设备755.2.3 设备控制请求755.2.4 内核中的对应处理775.2.5 结合测试的效果795.3 阻塞、等待与安全设计805.3.1 驱动主动通知应用805.3.2 通信接口的测试815.3.3 内核中的缓冲区链表结构835.3.4 输入:内核中的请求处理中的安全检查845.3.5 输出处理与卸载清理85第6章 64位和32位内核开发差异886.1 64位系统新增机制886.1.1 WOW64子系统886.1.2 PatchGuard技术916.1.3 64位驱动的编译、安装与运行916.2 编程差异926.2.1 汇编嵌入变化926.2.2 预处理与条件编译936.2.3 数据结构调整93 开 发 篇 第7章 串口的过滤967.1 过滤的概念967.1.1 设备绑定的内核API之一977.1.2 设备绑定的内核API之二987.1.3 生成过滤设备并绑定987.1.4 从名字获得设备对象1007.1.5 绑定所有串口1017.2 获得实际数据1027.2.1 请求的区分1027.2.2 请求的结局1037.2.3 写请求的数据1047.3 完整的代码1057.3.1 完整的分发函数1057.3.2 如何动态卸载1067.3.3 代码的编译与运行107第8章 键盘的过滤1098.1 技术原理1108.1.1 预备知识1108.1.2 Windows中从击键到内核1108.1.3 键盘硬件原理1128.2 键盘过滤的框架1128.2.1 找到所有的键盘设备1128.2.2 应用设备扩展1158.2.3 键盘过滤模块的DriverEntry1178.2.4 键盘过滤模块的动态卸载1178.3 键盘过滤的请求处理1198.3.1 通常的处理1198.3.2 PNP的处理1208.3.3 读的处理1218.3.4 读完成的处理1228.4 从请求中打印出按键信息1238.4.1 从缓冲区中获得KEYBOARD_INPUT_DATA1238.4.2 从KEYBOARD_INPUT_DATA中得到键1248.4.3 从MakeCode到实际字符1248.5 Hook分发函数1268.5.1 获得类驱动对象1268.5.2 修改类驱动的分发函数指针1278.5.3 类驱动之下的端口驱动1288.5.4 端口驱动和类驱动之间的协作机制1298.5.5 找到关键的回调函数的条件1298.5.6 定义常数和数据结构1308.5.7 打开两种键盘端口驱动寻找设备1318.5.8 搜索在KbdClass类驱动中的地址1338.6 Hook键盘中断反过滤1358.6.1 中断:IRQ和INT1368.6.2 如何修改IDT1368.6.3 替换IDT中的跳转地址1378.6.4 的PS/2反过滤措施1398.7 直接用端口操作键盘1398.7.1 读取键盘数据和命令端口1398.7.2 p2cUserFilter的终实现140第9章 磁盘的虚拟1439.1 虚拟的磁盘1439.2 一个具体的例子1439.3 入口函数1449.3.1 入口函数的定义1449.3.2 Ramdisk驱动的入口函数1459.4 EvtDriverDeviceAdd函数1469.4.1 EvtDriverDeviceAdd的定义1469.4.2 局部变量的声明1469.4.3 磁盘设备的创建1479.4.4 如何处理发往设备的请求1489.4.5 用户配置的初始化1499.4.6 链接给应用程序1519.4.7 小结1529.5 FAT12/16磁盘卷初始化1529.5.1 磁盘卷结构简介1529.5.2 Ramdisk对磁盘的初始化1549.6 驱动中的请求处理1609.6.1 请求的处理1609.6.2 读/写请求1609.6.3 DeviceIoControl请求1629.7 Ramdisk的编译和安装1649.7.1 编译1649.7.2 安装1649.7.3 对安装的深入探究1650章 磁盘的过滤16710.1 磁盘过滤驱动的概念16710.1.1 设备过滤和类过滤16710.1.2 磁盘设备和磁盘卷设备过滤驱动16710.1.3 注册表和磁盘卷设备过滤驱动16810.2 具有还原功能的磁盘卷过滤驱动16810.2.1 简介16810.2.2 基本思想16910.3 驱动分析16910.3.1 DriverEntry函数16910.3.2 AddDevice函数17010.3.3 PnP请求的处理17410.3.4 Power请求的处理17810.3.5 DeviceIoControl请求的处理17810.3.6 bitmap的作用和分析18210.3.7 boot驱动完成回调函数和稀疏文件18710.3.8 读/写请求的处理1901章 文件系统的过滤与监控19911.1 文件系统的设备对象20011.1.1 控制设备与卷设备20011.1.2 生成自己的一个控制设备20111.2 文件系统的分发函数20211.2.1 普通的分发函数20211.2.2 文件过滤的快速IO分发函数20311.2.3 快速IO分发函数的一个实现20511.2.4 快速IO分发函数逐个简介20611.3 设备的绑定前期工作20711.3.1 动态地选择绑定函数20711.3.2 注册文件系统变动回调20811.3.3 文件系统变动回调的一个实现20911.3.4 文件系统识别器21111.4 文件系统控制设备的绑定2
作者介绍
谭文,毕业于西安交通大学。2002-2005:杭州核新软件技术有限公司,虚拟磁盘与防火墙项目组。2005-2008:日电软件(北京)有限公司上海分公司,信息安全课。2008-今:英特尔亚太研发有限公司,动态指令转换(BTPI)项目组。
序言
— 没有更多了 —
以下为对购买帮助不大的评价