驅动程序设计基础.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
驅动程序设计基础

驱动程序设计基础 本文档又看雪软件安全论坛提供 专题负责人:CCDeath 参与人员:sislcb、vbcs、qqeleven、xhackx、火影、猪头三 [开题] 目前还没有独立驱动专业,很多人都是自学。写专题可以使所学知识系统化,规范化, 运用起来思路清晰。写代码,刚开始尽量多写。代码能看懂并不能代表就能写,就像有看过 windows部分源代码,不一定就能写出一个windows出来。代码有时候看比较简单的,但还 需在键盘敲一下:-)。编码使要越写越深入,越写越规范。是个量变达到质变的过程。 [经历] 我有幸能在trw2000刘涛涛那边工作过二十几天,以下都是只从技术角度去看一切的。代码 要写的漂亮,不能随便浪费一个字节。精确的是到字节,不是随便定义int类型。个人感觉刘涛涛很有勤奋精神。他挖第一桶金的时候,可以连续工作一个月,赚了十万,头酸背痛的。是个善于学习的人,也能快速移植别人的想法,会做笔记,会思考。虽然现在离开,出来到其他公司一直深受到他的影响。 [结尾] 其实IT行业,不是很幸苦,就是有时候觉得工资不高而已。驱动有时候可以用IDA逆微软dll,看一下微软写的。驱动专题还有很多不完善的地方,需要每个人动起手来,写写。相信你,你会越写越漂亮的:-) [思路] 先用三个小专题介绍驱动流程,再用三个小专题介绍驱动程序是如何与应用程序进行通信的。 然后分析一个经典驱动源码,最后再写监控程序。 CCDeath 2008.4.11 目录 由此开始 1 真正的驱动入门(一) 5 驱动开发和调试的环境设置 11 inf文件的编写 17 驱动动态加载 20 WDM驱动中使用DeviceIoControl,CreateFile 29 WDM驱动程序使用Buffer I/O,Direct,Neither模式传递数据(修正版) 38 驱动和应用层的异步通信 51 真正的驱动入门(二) 56 filedisk源码分析 67 偶写的Ring0监控程序PRMonitor源代码(ddk+sdk) 71 驱动程序中几个常见例程(读书笔记) 72 过滤驱动中创建IRP时IO堆栈单元的细节处理 76 由此开始 一、三个专题驱动整个入门流程??? 内容列表 流程一.配置VC++、不同操作系统对应的DDK、虚拟机VMWare,安装调试器Softice?or?WinDbg; 流程二.编译第一个最简单的Hello程序(DDK环境、VC+DDK环境都可),并用监视器观察输出结果.. 流程三.编写*.inf?文件,进行手工安装到电脑上,并设备管理器进行观察.[单独出来专题,可使用流程六] 流程四.编写一个自动加载驱动程序、卸载驱动程序的应用程序。[单独出来专题,可使用流程六] 流程五.设置好调试器,特别是WinDbg双机调试通过com1端口。下载好符号表,转换格式,进行源码调试。 ???????Softice调试器,如果是XP系统,请下载补丁. 流程六.提供一个快捷方式解决流程三.四途径,不够建议多多使用上面,多多了解计算机。 装一个DirverStudio3.2,只是用里面的快捷工具,如EzDriverIntaller、DriverMonitor。 任务:通过流程一、二、六、五可以直接完成任务。但是如果你想知道更多就按照流程一、二、三、四、五、六.来完成。 总成果:心中有整个流程思想,编写第一个HelloWorld驱动程序,踏进驱动之门。 [课题3.1]驱动整个入门流程之流程一、二、六、五 课题要求:配置VC++、不同操作系统对应的DDK、虚拟机VMWare,安装调试器Softice?or?WinDbg; 成果3.1:编写得到第一个HelloWorld驱动程序 相关解决方案: 驱动开发和调试环境的设置(由qqeleven完成) /showthread.php?t=48220 真正的驱动入门(—)[附小程序代码](由ccdeath完成) /showthread.php?t=56192 [课题3.2]驱动整个入门流程之流程三 课题要求:相信你3.1课题没问题吧,编译好驱动为*.sys。安装*.inf,接着用设备管理器进行观察。介绍*inf格式及如何编写 成果3.2:编写得到一个简单HelloWorld的*.inf 相关解决方案: inf文件的编写(由sislcb完成) /showthread.php?t=57571 [课题3.3]驱动整个入门流程之流程四 课题要求:相信你3.1课题没问题吧,这个应用程序可以是控制台?或者?是Win32程序, 打开服务管理之类,创建服务。能够把编译好的驱动程序,加载、卸载测试一下,在监视器进行观察. 成果3

文档评论(0)

fv45ffsjjI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档