阅读:1704回复:6
为什么在SfCreate中无法拦截winrar的新建文件操作
我在SfCreate中做了过滤,对特定的文件或文件类型的操作是拒绝的。
但我发现如果rar压缩包中有指定的文件或类型,是可以被解压并创建的。当然,创建后,对此文件的所有操作是可以被拒绝的。 我想winrar应该不会直接发送IRP,但新建文件应该一定要过SfCreate,可为什么我拦不住呢????? 希望个位小牛,大牛,巨牛指点一,二,谢谢!!! |
|
沙发#
发布于:2007-02-05 10:34
我刚才测试了一下,发现可以在create的时候拦截rar得释放文件的操作,你是怎么判断的?是不是有遗漏阿
|
|
板凳#
发布于:2007-02-05 12:00
我试了,如果我禁止abc.exe 文件,如果rar文件中有 abc.exe,可以解压的。
|
|
地板#
发布于:2007-02-05 18:08
不可能,我测试过了,在创建的时候irpsp->fileobject.filename中存放的就是要解压得文件名,比如a.exe.是不是你判断名字判断错了?比如用c:\a\abc.exe来判断?
|
|
地下室#
发布于:2007-02-05 22:51
我也遇到郁闷的事了!
我拦截了IRP_MJ_WRITE操作, 然后在FastIOWrite中直接返回FALSE, 结果我用记事本打开D盘的一个文件, 修改内容然后再保存. 的确不能保存了! 但是新的问题来了, 我从其他盘COPY一个文件过去, 提示拒绝操作, 但是文件已经写到D盘了,只是写进去的内容是空字符! |
|
|
5楼#
发布于:2007-02-06 10:06
创建新文件是在irp_mj_create中处理的,你要根据access值来判断是否是新建文件。
|
|
6楼#
发布于:2007-02-06 11:55
引用第5楼xx_qiang于2007-02-06 10:06发表的“”: 我没有判断,只要发现文件名是我禁止的就拒绝。 |
|