ai3000
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2011-01-18
  • 粉丝2
  • 关注1
  • 积分10分
  • 威望140点
  • 贡献值1点
  • 好评度75点
  • 原创分1分
  • 专家分0分
阅读:1704回复:6

为什么在SfCreate中无法拦截winrar的新建文件操作

楼主#
更多 发布于:2007-02-02 21:29
  我在SfCreate中做了过滤,对特定的文件或文件类型的操作是拒绝的。

但我发现如果rar压缩包中有指定的文件或类型,是可以被解压并创建的。当然,创建后,对此文件的所有操作是可以被拒绝的。

我想winrar应该不会直接发送IRP,但新建文件应该一定要过SfCreate,可为什么我拦不住呢?????

希望个位小牛,大牛,巨牛指点一,二,谢谢!!!
xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-02-05 10:34
我刚才测试了一下,发现可以在create的时候拦截rar得释放文件的操作,你是怎么判断的?是不是有遗漏阿
ai3000
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2011-01-18
  • 粉丝2
  • 关注1
  • 积分10分
  • 威望140点
  • 贡献值1点
  • 好评度75点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-02-05 12:00
我试了,如果我禁止abc.exe 文件,如果rar文件中有 abc.exe,可以解压的。
xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2007-02-05 18:08
不可能,我测试过了,在创建的时候irpsp->fileobject.filename中存放的就是要解压得文件名,比如a.exe.是不是你判断名字判断错了?比如用c:\a\abc.exe来判断?
classfree
驱动小牛
驱动小牛
  • 注册日期2004-05-23
  • 最后登录2019-01-06
  • 粉丝1
  • 关注1
  • 积分873分
  • 威望276点
  • 贡献值0点
  • 好评度85点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2007-02-05 22:51
我也遇到郁闷的事了!

我拦截了IRP_MJ_WRITE操作,
然后在FastIOWrite中直接返回FALSE,
结果我用记事本打开D盘的一个文件, 修改内容然后再保存. 的确不能保存了!

但是新的问题来了, 我从其他盘COPY一个文件过去, 提示拒绝操作,  但是文件已经写到D盘了,只是写进去的内容是空字符!
低调点!
xx_qiang
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2017-02-27
  • 粉丝2
  • 关注1
  • 积分31分
  • 威望249点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2007-02-06 10:06
创建新文件是在irp_mj_create中处理的,你要根据access值来判断是否是新建文件。
ai3000
驱动牛犊
驱动牛犊
  • 注册日期2007-01-08
  • 最后登录2011-01-18
  • 粉丝2
  • 关注1
  • 积分10分
  • 威望140点
  • 贡献值1点
  • 好评度75点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2007-02-06 11:55
引用第5楼xx_qiang2007-02-06 10:06发表的“”:
创建新文件是在irp_mj_create中处理的,你要根据access值来判断是否是新建文件。


我没有判断,只要发现文件名是我禁止的就拒绝。
游客

返回顶部