windows驱动开发推荐书籍
[作者] 猪头三
个人网站 :http://www.x86asm.com/
[序言]
很多人都对驱动开发有兴趣,但往往找不到正确的学习方式.当然这跟驱动开发的本土化资
料少有关系.大多学的驱动开发资料都以英文为主,这样让很多驱动初学者很头疼.本人从
事驱动开发时间不长也不短,大概也就3~4年时间.大多数人都认为会驱动开发的都是牛人,
高手之类的.其实高手,牛人不是这样定义的.我们在学习驱动开发之前,一定要明白一个道
理:术业有专攻,不要盲目跟风.
[贡献者]
1> defddr 看雪学院
2> StudyRush 看雪学院
[本内容适用环境及工具]
1> Windows系统下
2> VC6.0以及VS2003版本以上
3> Windows驱动开发包(DDK(老版本) WDK(新版本))
4> 有能力着可以安装VMWare
[本内容适用群体]
1> 具有C/C++语言基础的人
2> 具有80x86汇编基础的人
3> 具备高中以上文化水平的逻辑思维
[具备Windows系统理论书籍]
1> Windows核心编程
2> Win32多线程程序设计
3> 深入解析Windows操作系统
4> Windows操作系统原理
FAQ1:为什么需要[具备Windows系统理论书籍]这4本书?
答:驱动是Windows系统的一个重要的组成部分,深入Windows系统核心的一个体系,就
因为驱动跟系统内核联系得十分紧密,所以涉及了不少系统的基础理论以及原理.因此在学
习驱动开发之前必须先明白Windows 系统的基础开发理论,Windows系统的运作原
理,Windows系统的架构体系.那么我提供的上面4本书是目前市面上我认为最经典最全面
的书籍了.
[具备Windows驱动开发书籍]
1> Windows驱动开发详解
2> Windows设备驱动程序WDF开发
FAQ2:为什么需要[具备Windows驱动开发书籍]这2本书?
答:假设你对Windows系统的基础理论扎实了,也看完了所说的[Windows系统理论书籍]
这4本书,而且你还从事开发过Windows程序或者大程序的经验者.那么你进入Windows
驱动开发的时候,需要一本经典的驱动入门开发书籍即可正确入门.现在我提供了
[Windows驱动开发书籍]这2本书完完全全针对Windows驱动开发入门而编写的书籍.
当然我首要推荐<Windows驱动开发详解>这本书.本书的内容在目前来说,针对驱动开发
的讲解时非常到位了.包含了驱动开发理论 配置 驱动体系 等等......是一本不可多得
的好书.那么第2本,其实有点滥竽充数,但是他里面有少少涉及到WDF这个最新的驱动开
发理论的讲解,大家也就凑合着吧.
[具备Windows调试基础理论书籍]
1> 软件调试
2> Windows用户态程序高效排错
FAQ3:为什么需要[具备Windows调试基础理论书籍]这2本书?
答:在开发驱动的情况下,你少不了要调试驱动程序.那么如何调试驱动程序呢? Windows
已为你考虑到这个问题了并开发了一套强有力的调试工具:Windbg .如何学习这个工具的
调试呢?那么现在市面上只有这2本书针对Windbg讲解得还比较到位,至少针对调试命令
的使用,已经用中文讲解了,大家可以通过2本书先大概了解Windbg的调试命令,然后再进
一步进行GOOGLE搜索并深入学习.
[具备汇编基础理论书籍]
1> 汇编语言 作者:王爽
2> 80x86汇编语言程序设计教程[绿皮版 或者 黑皮版]
FAQ4:为什么需要[具备汇编基础理论书籍]这2本书?
答:由于在Windows环境下开发驱动,从而有个弊端,就是Windows的WDK,DDK文档少得
可怜,很多说明多是模糊的.因此导致我们开发的驱动极其不稳定,这时就需要逆向
Windows驱动的机制来加深理解.在一个由于驱动的不稳定性,会导致系统蓝屏,有时错误
并不会直接定位到你的代码,这时就需要汇编来分析错误的缘由.就如我前面介绍的[具备
Windows调试基础理论书籍] 基本是用汇编语言来阐述调试技术.
[驱动开发扩展书籍]
1> 寒江独钓-Windows内核安全编程
2> Windows内核原理与实现
3> Rootkit Windows内核安全防范
4> Windows内核情景分析
FAQ5:为什么需要[驱动开发扩展书籍]这4本书?
答:熟话说:学无止境,驱动开发领域是一个很庞大的体系,这归根于驱动框架多样化而决定
的.驱动包含了:文件驱动,磁盘驱动,显卡驱动,网络驱动,等等不同的种类,每一种类就是
一个领域,你决定你的能力需要扩展到多方面,那么你可以考虑先我这里提供的这4本书来
学习,通过阅读这3本书,你会发现驱动可以做很多你意想不到的事情.本人从事开发驱动
将近4年,也仅仅涉及 文件驱动,磁盘驱动以及一些小型驱动而已.这些的学习我也仅仅是
根据需求来进行选择性学习.每个人都有自己的能力极限,大家要量力而行.
备注:网友可以推荐其他好书
[推荐学习资源站点]
1> http://forum.driverdevelop.com/ 国内唯一个知识点比较全的驱动交流网站
2> http://www.osronline.com/ 国外著名的驱动开发社区
3> http://www.microsoft.com/whdc/default.mspx 微软官方驱动开发技术支
持
[推荐正确学习方式]
1> 认真阅读我提供的参考书籍
2> 多使用Google来解决你遇到的问题
3> 多尝试用驱动写你自己喜欢的功能
4> 提升你英文阅读能力,因为大部分有价值的资料来自于国外
5> 不要急于求成,不要浮躁,不要把驱动开发技术当做一种炫耀
http://blog.csdn.net/qing666888/article/details/50811764
windows驱动开发推荐书籍的更多相关文章
- [Windows驱动开发](一)序言
笔者学习驱动编程是从两本书入门的.它们分别是<寒江独钓——内核安全编程>和<Windows驱动开发技术详解>.两本书分别从不同的角度介绍了驱动程序的制作方法. 在我理解,驱动程 ...
- Windows驱动——读书笔记《Windows驱动开发技术详解》
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- C++第三十三篇 -- 研究一下Windows驱动开发(一)内部构造介绍
因为工作原因,需要做一些与网卡有关的测试,其中涉及到了驱动这一块的知识,虽然程序可以运行,但是不搞清楚,心里总是不安,觉得没理解清楚.因此想看一下驱动开发.查了很多资料,看到有人推荐Windows驱动 ...
- Windows驱动开发(中间层)
Windows驱动开发 一.前言 依据<Windows内核安全与驱动开发>及MSDN等网络质料进行学习开发. 二.初步环境 1.下载安装WDK7.1.0(WinDDK\7600.16385 ...
- Windows 驱动开发 - 5
上篇<Windows 驱动开发 - 4>我们已经完毕了硬件准备. 可是我们还没有详细的数据操作,比如接收读写操作. 在WDF中进行此类操作前须要进行设备的IO控制,已保持数据的完整性. 我 ...
- windows 驱动开发入门——驱动中的数据结构
最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...
- Web前端开发推荐书籍
Web前端开发推荐书籍 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 读 书吧~相对于在网上学习,在项目中学习和跟着有经验的同事学习,书中有着相 ...
- Windows 驱动开发 - 7
在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...
- Windows 驱动开发 - 8
最后的一点开发工作:跟踪驱动. 一.驱动跟踪 1. 包括TMH头文件 #include "step5.tmh" 2. 初始化跟踪 在DriverEntry中初始化. WPP_INI ...
随机推荐
- Google Map API v2 步步为营(一) ----- 初见地图
官方文档:https://developers.google.com/maps/documentation/android/start?hl=zh-CN 先谷歌后百度.使用google的api基本上按 ...
- couchbase failover 集群故障自动转移方案研究!
最近迷上Couchbase了,现在所有的站点全部试用Couchbase进行缓存及持久化,这样以来貌似风险比较大啊,缓存服务器挂了就完了. 看到有讲到Couchbase的集群方案很简单,于是照着教程做了 ...
- 分享一下常用的hosts列表
#以下的hosts能够保证基本的谷歌服务不受影响,其他网站则不一定能够顺利访问,Youtube视频无法播放,但是可以顺利上传视频 #Thanks smarthosts , 老夏 ,Humorce ...
- [DEncrypt] MySecurity--安全加密/Base64/文件加密 (转载)
点击下载 MySecurity.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.MySecurity 加密字符串2.MySecurity 加密字符串 密钥为系统默认 012345678 ...
- hibernate - Transaction not successfully started
今天在测试 transaction(使用事务进行管理)的时候, 总报错: Transaction not successfully started 可能有多种原因, 这位哥们总结得很好: Transa ...
- sql 删除表数据truncate delete drop的区别
已下内容为转载内容:学习之用 1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. ...
- 收集SQLServer线程等待信息
要知道线程等待时间是制约SQL Server效率的重要原因,这一个随笔中将学习怎样收集SQL Server中的线程等待时间,类型等信息,这些信息是进行数据库优化的依据. sys.dm_os_wait_ ...
- 关于基于.net的WEB程序开发所需要的一些技术归纳
前提: 最近公司里有一个同事,年龄比我大几岁,但是由于是转行来做开发的,许多的关于.net开发技术不是很入行,所以总是会问我一些东西,基于自己以前的一些 经验,总是会愿意给他讲一些总结性的东西,希望他 ...
- hibernate 对象状态异常:object references an unsaved transient instance - save the transient instance before flushing
我的问题出在,删除的对象对应的表中有一个外键,关联着另外一个表,可是另外一个表中没有数据,所以报了这个错误. 参考http://www.cnblogs.com/onlywujun/archive/20 ...
- swift 截取字符串