当前位置:xp iso文章资讯xp技术教程

xp 电脑公司 2015

作者:xp系统下载  来源:www.2013xp.com  发布时间:2015-03-02
xp 电脑公司 2015
RP_MJ_CREATE给FSD的方法与此类似 可以参考IFSDDKdocument的IRP_MJ_CREATE说明 不同于上面方法的是需要自己创建一个FILE_OBJECT 好于上面方法的是这种方法不需要一个HANDLE HANDLE是线程依赖的,FileObject则是线程无关 文件的Read和Write我们通过给FSD发送IRP_MJ_READ来读取文件 给FSD发送IRP_MJ_WRITE来改写文件 如果我们是通过一个HANDLE来执行如使用IoCreateFile打开的文件) 就要先用ObReferenceObjectByHandle函数来获得这个Handle对应的FileObject 我们只能给FileObject发送IRP 之后我们使用IoAllocateIrp分配一个IRP 根据FileObject> DeviceObject> Flags的值 我们判断目标文件系统使用什么样的IO方式 对每种不同的IO方式使用不同的地址传递方式 随后我们填充IRP内的各个参数域 就可以发送IRP了 接着要考虑如果IRP不能及时完成 会异步的返回的情况 我们安装一个CompletionRoutine 在CompletionRoutine里面设置一个事件为已激活 通知我们的主线程读取或者写入操作已经完成 现在可以发送IRP了 如果xp 电脑公司 2015不采取特殊的措施的话 IRP发送目标是FileObject对应的DeviceObject 发送后 等待IRP的完成并且释放资源 返回 文件的DeleteDelete实际上是通过向FSD发送IRP_MJ_SET_INFORMATION的IRP 并把IrpSp> ParametersSetFileFileInformationClass设置为FileDispositionInformation 用一个FILE_DISPOSITION_INFORMATION结构填充buffer来执行的 文件的Rename类似于Delete Rename是向FSD发送IRP_MJ_SET_INFORMATION的IRP 把IrpSp> ParametersSetFileFileInformationClass设置为FileRenameInformation 填充buffer为FILE_RENAME_INFORMATION结构 综上 于是我们可以在驱动里面通过发送IRP来直接访问文件系统了 绕过了nativeAPI和win API层次 绕过文件系统过滤驱动和钩子有了以上的内容 我们目前可以直接给FSD发送请求操作文件 但是这还不够 因为有很多的杀毒软件或者监视工具使用FSDFilterDriver或者FSDHook的办法来监控文件操作对付文件系统过滤驱动文件
[]

栏目导航

本类热门阅览

相关文章