renxianfu
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2016-01-09
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望365点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分1分
阅读:1886回复:3

minifilter-阻塞notepad的IRP的疑问

楼主#
更多 发布于:2009-05-04 15:42

根据一个驱动大牛(大家都很熟悉的一个牛)的建议,我代码实现方式如下
1,在PostCreate中通知应用层,阻塞式处理
2,应用层使用NO_BUFFER_IO打开改读取文件
3,在应用层用MessageBox方式阻塞该函数,期望经过此能阻塞发送PostCreate的程序

效果如下
1,wordpad绝对没问题
2,notepad不行,在弹出消息框时,notepad依旧打开
3,没发现其他问题,应用在清cache上,第一次用notepad会有问题

应该可以肯定拦截了paging io的

我的疑问:
    为什么,我阻塞了notepad发的create irp,notepad依旧能打开

目的是,想做一个对指定文件夹的所有文件动态加解密,可以没有文件加密标识,个人估计解决起来要简单点

文件驱动底子比较薄,刚从淘宝上买了本那个牛书《windows文件系统内幕》,正恶补基础,目前没发现什么解决思路
顺路赞下这本书,值!

有点急了,就请来过的留下你宝贵的建议和思路



谢谢关注!
renxianfu
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2016-01-09
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望365点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分1分
沙发#
发布于:2009-05-05 09:53
自己顶一下
难到不成该问题太肤浅了?
谢谢关注!
renxianfu
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2016-01-09
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望365点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2009-05-06 09:54
昨天终于找到问题了,其实是路径判断的问题,共发了3个create,放过了2个,原因是如下代码

if( !( Cbd->Iopb->Parameters.Create.Options & FILE_NON_DIRECTORY_FILE ) )    
         return FALSE;

正在找原因
谢谢关注!
renxianfu
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2016-01-09
  • 粉丝2
  • 关注2
  • 积分48分
  • 威望365点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分1分
地板#
发布于:2009-05-06 09:59
现在总结一句话,大牛的建议,都是从战斗中总结过来的,应该必须好好琢磨
而且这么处理后,兼容性问题就基本上不存在
谢谢关注!
游客

返回顶部