请选择 进入手机版 | 继续访问电脑版
开启辅助访问 设为首页收藏本站

从零开始学编程-编程学习教程分享,编程技术交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4040|回复: 21

[电子书] 寒江独钓-Windows内核安全编程(完整版).pdf

[复制链接]

1072

主题

1795

帖子

3707

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3707

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2016-9-17 07:54:07 | 显示全部楼层 |阅读模式
寒江独钓-Windows内核安全编程(完整版).pdf

寒江独钓-Windows内核安全编程(完整版).pdf

寒江独钓-Windows内核安全编程(完整版).pdf

编写Windows内核程序,就意味着这个程序可以执行任意指令,可以访问计算机所有的软件、硬件资源。因此,稍有不慎就有可能将系统变得不稳定。Windows的设计者设计了各种驱动模型或者框架,如NT式内核驱动模型、WDM框架和新推出的WDF框架。在这些模型框架下编程,就使内核编程变得简单,同样也降低了内核程序崩溃的机会。其实,Windows驱动程序员和黑客都在写内核程序,唯一不同的是驱动程序员按照微软设计的模型写程序,而黑客可以不按照这些框架写。Windows设计的这些框架,可以将操作系统的原理隐藏起来,只暴露一些接口,驱动程序员只要把这些接口写好就可以了。从这个角度看,驱动开发并不难,尤其是读完本书后,更会觉得不难了。但是想完成一些特殊的功能,如内核级隐藏进程等,Windows的这些框架就没什么用处了,程序员就需要对Windows内核有全面的了解,通过直接修改Windows内核来实现这些目的。往往黑客对这种技术乐此不疲,通过修改Windows内核,你会发现你的程序几乎无所不能。
  编写内核程序是一件很痛苦的事情,回想起这些年学习内核程序开发的经历,真是感慨万千。就如同谭文所说:编写内核程序的人从某种程度讲是孤独的。当一个经验并不丰富的小程序员面对庞大复杂的并且不开源的Windows框架时,那是一种怎样的无助感啊!谭文是我比较钦佩的程序员之一,他对技术非常执着,并且精力充沛。内核程序的知识涉及面非常广,不同类别的内核程序差别也特别大,他几乎都有所涉猎。相信读者在读完这本书后,能对Windows内核开发有比较详细的了解,同时也能结合书中的实例写出很优秀的内核程序了

本书从Windows内核编程出发,全面系统地介绍了串口、键盘、磁盘、文件系统、网络等相关的Windows内核模块的编程技术,以及基于这些技术实现的输入密码保护、防毒引擎、文件加密、网络嗅探、网络防火墙等信息安全软件的核心组件的具体编程。主要知识重点包括:Windows串口与键盘过滤驱动、Windows虚拟存储设备与存储设备过滤驱动、Windows文件系统过滤驱动、文件系统透明加密/解密驱动、Windows各类网络驱动(包括TDI过滤驱动及3类NDIS驱动),以及最新的WDF驱动开发模型。有助于读者熟悉Windows内核驱动的体系结构,并精通信息安全类的内核编程技术。本书的大部分代码具有广泛的兼容性,适合从Windows 2000一直到目前最新的Windows 7 Beta版。

 本书则基本上介绍的是正统的内核编程技术,是微软在内核编程中给信息安全软件开发者提供的相关接口的大集合,是名门正派的技术,不沾邪气。一个好的内核程序员,“正邪兼修”是有必要的。
  本书既适合于有志于成为软件程序员的学生使用,也适合于希望加强自己的技术实力的Windows程序员阅读,同时更适合于从事信息安全行业的Windows软件的开发者作为手头参考。
第一部分 基础篇
第1章 前置要求与环境搭建
1.1 驱动编程的语言
1.2 开发环境搭建
1.2.1 Visual Studio 2005/2008的安装与配置
1.2.2 WDK的安装与配置
1.2.3 VisualDDK的安装与配置
1.3 常用工具介绍
第2章 内核编程基础知识
2.1 Windows主要系统组件
2.1.1 对象管理器
2.1.2 内存管理器
2.1.3 进程和线程管理器
2.1.4 I/O管理器
2.1.5 PnP管理器
2.1.6 电源管理器
2.1.7 配置管理器
2.1.8 安全引用监视器
2.2 常见名词解释
2.2.1 内核名词
2.2.2 文件名词
2.2.3 网络名词
2.3 常见内核数据结构
2.3.1 驱动框架常见数据结构
2.3.2 进程与线程数据结构
2.3.3 存储系统数据结构
2.3.4 网络数据结构
2.3.5 其他一些常见的数据结构
第3章 基本编程方法
3.1 简单的NT式驱动模型
3.1.1 驱动模型的选择
3.1.2 NT式驱动程序基本结构
3.1.3 编译驱动程序
3.1.4 加载驱动及查看输出信息
3.2 应用层与内核的通信方法
3.2.1 访问数据的I/O方式
3.2.2 读写驱动程序
3.2.3 发送I/O控制码
3.2.4 内存共享
3.3 同步技术
3.3.1 事件对象
3.3.2 信号灯对象
3.3.3 互斥体对象
3.3.4 定时器对象
3.3.5 自旋锁
3.3.6 回调对象
3.3.7 原子操作
3.4 IRP处理
3.4.1 简单的IRP流动图
3.4.2 IRP的创建
3.4.3 IRP的发送
3.4.4 为IRP设置完成函数
3.4.5 IRP的完成
3.4.6 多种典型的 IRP处理示例
3.5 字符串操作
3.5.1 STRING、ANSI_STRING和UNICODE_STRING
3.5.2 初始化和销毁
3.5.3 复制和添加
3.5.4 比较
3.5.5 转换
3.6 内存管理
3.6.1 分配系统空间内存
3.6.2 运行时库管理函数
3.6.3 使用内核栈
3.6.4 使用Lookaside快速链表
3.6.5 访问用户空间内存
3.6.6 内存区对象和视图
3.6.7 MDL的使用
3.7 注册表编程
3.7.1 注册表对象管理函数
3.7.2 注册表运行时库函数
3.7.3 注册表调用过滤
3.8 文件编程
3.8.1 打开文件句柄
3.8.2 执行相关文件操作
3.9 其他
3.9.1 本地系统服务函数的Nt
和Zw版本
3.9.2 NTSTATUS返回值
3.9.3 双向链表的使用
3.9.4 异常处理
第二部分 提升篇
第4章 进程
4.1 进程监控实现原理
4.2 Windows 7系统下的进程
监控软件实例
4.2.1 内核模块程序实现
4.2.2 用户模式程序实现
4.3 安装与使用
第5章 磁盘
5.1 存储驱动体系结构
5.2 设备树示例
5.3 diskperf磁盘过滤驱动
5.3.1 diskperf介绍
5.3.2 diskperf的过滤框架
5.3.3 diskperf的PnP支持
5.3.4 diskperf的硬盘访问监控和性能数据捕获
5.3.5 diskperf的电源支持
5.3.6 diskperf的安装与测试
第6章 键盘
6.1 原理跟踪
6.1.1 自下而上的过程
6.1.2 自上而下的过程
6.2 几种常见的键盘记录行为
6.2.1 应用层的消息钩子
6.2.2 键盘过滤驱动
6.2.3 键盘类驱动的分发函数Hook
6.2.4 DKOM技术
6.2.5 其他方法
6.3 反键盘记录
6.3.1 实现原理
6.3.2 反键盘记录示例
第7章 文件
7.1 原理跟踪
7.1.1 Windows存储栈
7.1.2 不涉及缓存的数据存储
7.1.3 涉及缓存的数据存储
7.2 简单的文件隐藏
7.2.1 文件隐藏的原理
7.2.2 文件隐藏的实现
7.3 scanner扫描程序
7.3.1 过滤管理器与微过滤驱动概念
7.3.2 使用过滤管理模型的优势
7.3.3 微过滤驱动的加载和卸载
7.3.4 用户模式和内核模式的交互
7.3.5 scanner介绍
7.3.6 scanner驱动程序
7.3.7 scanner应用层程序
7.3.8 scanner的安装与使用
第8章 网络
8.1 原理跟踪
8.2 NDIS协议驱动
8.2.1 DriverEntry
8.2.2 绑定
8.2.3 数据发送
8.2.4 数据接收
8.2.5 数据流动总结
8.3 OPEN_BLOCK的展示
8.3.1 原理知识
8.3.2 相关代码
第三部分 辅助篇
第9章 安全编码
9.1 蓝屏的概念
9.2 创建可靠的驱动程序
9.2.1 验证设备对象
9.2.2 使用安全字符串
9.2.3 验证对象句柄
9.2.4 支持多CPU
9.2.5 确认驱动状态
9.2.6 IRP安全检查
9.3 使用驱动验证程序
9.3.1 驱动验证程序的测试选项
9.3.2 使用驱动验证程序
第10章 调试与逆向
10.1 静态调试
10.1.1 静态调试驱动程序
10.1.2 静态调试应用程序
10.2 动态调试
10.2.1 双机调试的基本方法
10.2.2 WinDbg的常用命令
10.2.3 WinDbg的使用技巧
10.3 逆向与调试相结合
10.3.1 示例

2018.8.13链接已补
点击下载:寒江独钓-Windows内核安全编程(完整版).pdf
提取码:
密码:
游客,如果您要查看本帖隐藏内容请回复

不积跬步,无以至千里
回复

使用道具 举报

24

主题

238

帖子

626

积分

Tib

Rank: 7Rank: 7Rank: 7

积分
626
发表于 2016-9-19 18:31:46 | 显示全部楼层
{:4_108:}这本我也有,嘿嘿
回复

使用道具 举报

1

主题

45

帖子

71

积分

Kib

Rank: 3Rank: 3

积分
71
发表于 2016-11-30 21:16:09 | 显示全部楼层
这本是好书吗?
回复

使用道具 举报

0

主题

138

帖子

156

积分

Kib

Rank: 3Rank: 3

积分
156
发表于 2017-2-13 14:34:10 | 显示全部楼层
感谢分享!
回复

使用道具 举报

0

主题

17

帖子

21

积分

Byte

Rank: 2

积分
21
发表于 2017-7-13 10:07:46 | 显示全部楼层
多多看看  了解
回复

使用道具 举报

0

主题

2

帖子

6

积分

Byte

Rank: 2

积分
6
发表于 2018-11-17 21:07:08 | 显示全部楼层
好书找了好长时间
回复

使用道具 举报

0

主题

18

帖子

26

积分

Byte

Rank: 2

积分
26
发表于 2018-12-23 12:05:52 | 显示全部楼层
好东西好东西
回复

使用道具 举报

0

主题

1

帖子

3

积分

Byte

Rank: 2

积分
3
发表于 2019-1-23 11:33:19 | 显示全部楼层
感谢分享!
回复

使用道具 举报

0

主题

1

帖子

3

积分

Byte

Rank: 2

积分
3
发表于 2019-2-18 16:12:45 | 显示全部楼层
6666学习一下
回复

使用道具 举报

1

主题

5

帖子

9

积分

Byte

Rank: 2

积分
9
发表于 2019-2-18 22:05:49 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|从零开始学编程 ( 豫ICP备15032706号-2 )

GMT+8, 2019-11-22 03:20 , Processed in 0.143075 second(s), 53 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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