Windows文件系统过滤驱动开发教程(第二版).PDF

Windows文件系统过滤驱动开发教程(第二版).PDF

Windows文件系统过滤驱动开发教程(第二版).PDF

Windows 文件系统过滤驱动开发教程 (第二版) 楚狂人-2007-上海 (MSN:walled_river@) -1. 改版序 2 0. 作者,楚狂人自述 2 1. 概述,钻研目的和准备 2 2 . hello world,驱动对象与设备对象 4 3 .分发例程,fast io 6 3.5 附:陆麟关于 fastio 的简述 9 4.设备栈,过滤,文件系统的感知 10 5.绑定 FS CDO,文件系统识别器,设备扩展 13 6.IRP 的传递,File System Control Dispatch 16 7.准备绑定卷,IRP 完成函数, 中断级 18 8.绑定卷的完成 21 8 读写操作的捕获与分析 26 9.读请求的完成 28 10.文件和目录的生成打开,关闭与删除 31 11 自己发送Irp 完成读请求 33 12 如何实现路径过滤 35 13 避免重入 39 14 结语与展望 42 14.5 附:微端口文件过滤驱动 43 -1. 改版序 大约两年以前我在驱动开发网上发表了一组描述如何开发 Windows 文件系统过滤驱动的文章。非常庆幸这些文章能 给大家带来帮助。 原本的文章中我使用了自己编写的代码。我不打算在这里论述代码风格的优劣并发起一场辩论,无可怀疑的是,读者们 大多喜欢看到类似微软范例的代码。为此我把文章中的代码换成微软标准的文件过滤驱动范例 sfilter 的代码。赠于喜欢此 书的读者和驱动开发的后来者们。 网友们帮我整理的原版已经非常流行。为了区别起见,称为第二版。 0. 作者,楚狂人自述 我感觉 Windows 文件系统驱动的开发能找到的资料比较少。为了让技术经验不至于遗忘和引起大家交流的兴趣我以 我的工作经验撰写本教程。 我的理解未必正确,有错误的地方望多多指教。我在一家软件公司从事安全软件相关的开发工作。我非常庆幸和许多优 秀的同事一起工作,特别要提到 wowocock,陆麟,jiurl 和曾经的同事 Cardmagic.非常乐意与您交流。有问题欢迎与我 联系。邮箱为 MFC_Tan_Wen@163.com。 对于这本教程,您可以免费获得并随意修改,向任何网站转贴。但是不得使用任何内容作为任何赢利出版物的全部或者 部分。 1. 概述,钻研目的和准备 我经常在碰到同行需要开发文件系统驱动。windows 的 pc 机上以过滤驱动居多。其目的不外乎有以下几种: 一是用于防病毒引擎。希望在系统读写文件的时候,捕获读写的数据内容,然后检测其中是否含有病毒代码。 二是用于文件系统的透明附加功能。比如希望在文件写过程中对数据进行加密,数据个性化等等过程,针对特殊的过程 进行特殊处理,增加文件系统效率等。 三一些安全软件使用文件过滤进行数据读写的控制,作为防信息泄漏软件的基础。 四也有一些数据安全厂家用来进行数据备份与灾难恢复。 如果你刚好有以上此类的要求,你可以阅读本教程。 文件系统驱动是 windows 系统中最复杂的驱动种类之一。不能对 ifsddk 中的帮助抱太多希望,以我的学习经验看 来,文件系统相关的 ddk 帮助极其简略,很多重要的部分仅仅轻描淡写的带过。如果安装了 ifsddk,应该阅读 src\filesys\OSR_docs 下的文档。而不仅仅是 ddk 帮助。 文件系统驱动开发方面的书籍很少。中文资料我仅仅见过侯捷翻译过的一本驱动开发的书上有两三章涉及,也仅仅是只 能用于 9x 的vxd 驱动。但我们付出巨大努力所理解的 vxd 架构如今已经彻底作古。NT 文件系统我见过一本英文书。我 都不记得这两本书的书名了。 如果您打算开发 9x 或者 nt 文件系统驱动,建议你去网上下载上文提及的书。那两本书都有免费的电子版本下载。如果 你打算开发 Windows2000\WindowsXP\Window2003 的文件系统驱动,你可以阅读本教程。虽然本教程仅仅讲 述文件系统过滤驱动。但是如果

文档评论(0)

1亿VIP精品文档

相关文档