06 2008 档案
摘要: WINDOWS文件过滤系统驱动开发,可用于硬盘还原,防病毒,文件安全防护,文件加密等诸多领域。而掌握核心层的理论及实践,对于成为一名优秀的开发人员不可或缺。WINDOWS文件过滤系统驱动开发的两个经典例子,Filemon与SFilter,初学者在经过一定的理论积累后,对此两个例子代码的研究分析,会是步入驱动开发殿堂的重要一步,相信一定的理论积累以及贯穿剖析理解此两个例程后,就有能力开始进行文件过滤...阅读全文
摘要: Windows平台内核级文件访问作者:baiyuanfan (baiyuanfan@163.com)日期:2.1,20061.背景在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件。从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统服务,再到FileSystem及其FilterDriver,经历了很多层次。在每个层次上...阅读全文
摘要: 11.文件和目录的生成打开,关闭与删除 我们已经分析了读,写与读类似。文件系统还有其他的操作。比如文件或目录的打开(打开已经存在的或者创建新的),关闭。文件或目录的移动,删除。 实际上FILE_OBJECT并不仅仅指文件对象。在windows文件系统中,目录和文件都是用FileObject来抽象的。这里产生一个问题,对于一个已经有的FileObject,我如何判断这是一个目录还是一个文件呢? 对于...阅读全文
摘要: Windows文件系统过滤驱动开发教程 注: 有任何问题与建议请加QQ16191935,邮箱MFC_Tan_Wen@163.com 工作忙,好久没有来过了,请大家谅解。 10 自己发送Irp完成读请求 关于这个有一篇文档解释得很详细,不过我认为示例的代码有点太简略了,这篇文档在IFS所附带的OSR文档中,请自己寻找。 为何要自己发送Irp?在一个文件过滤驱动中,如果你打算读写文件,可以试用ZwRe...阅读全文
摘要: Windows文件系统过滤驱动开发教程 注: 有任何问题与建议请加QQ16191935,邮箱MFC_Tan_Wen@163.com 9 完成读操作 除非是一个完整的文件系统,完成读操作似乎是不必要的。过滤驱动一般只需要把请求交给下层的实际文件系统来完成。但是有时候比如加解密操作,我希望从下层读到数据,解密后,我自己来完成这一IRP请求。 这里要谈到IRP的minor function code.以...阅读全文
摘要: Windows文件系统过滤驱动开发教程 注: 有任何问题与建议请加QQ16191935,邮箱MFC_Tan_Wen@163.com 8 终于绑定了Volume,读操作的捕获与分析 上文已经讲到绑定Volume之前的关键操作.我们一路逢山开路,逢水架桥,相信你从中也学到了驱动开发的基本方法.以后的工作,无非灵活运用这些方法而 已.前边已经举出过绑定FS CDO的操作.那么现在绑定Volume,无非照...阅读全文
摘要: Windows文件系统过滤驱动开发教程 7.IRP完成函数,中断级,如何超越中断级别的限制 先讨论一下Volumne设备是如何得到的.首先看以下几个函数: // ------------------wdf.h 中的内容 ------------------------- typedef VPB wd_vpb; _inline wd_vpb * wd_dev_vbp(wd_dev *dev) { r...阅读全文
摘要: Windows文件系统过滤驱动开发教程 6.IRP的传递,File System Control Dispatch 我们现在不得不开始写dispatch functions.因为你的设备已经绑定到文件系统控制设备上去了。windows发给文件系统的请求发给你的驱动。如果你不能做恰当的处理,你的系统的就会崩溃。 最简单的处理方式是把请求不加改变的传递到我们所绑定的设备上去。如何获得我们所绑定的设备?...阅读全文
