阅读:2017回复:15
关于sfilter截获IRP_MJ_XXX的问题,谢谢!
我用sfilter写文件动态加解密驱动。
我截获IRP_MJ_READ和IRP_MJ_WRITE使用 DriverObject->MajorFunction[IRP_MJ_READ] = SfRead; DriverObject->MajorFunction[IRP_MJ_WRITE] = SfWrite; 然后在对应的SfRead和SfWrite函数中输出信息用debugview观察。 现在的问题是,我无论在硬盘上进行怎样的操作,比如新建文件、读文件、写文件等,都观察不到IRP_MJ_READ和IRP_MJ_WRITE的截获信息。 请问这是什么原因?虽然是很基础的问题,但仍然谢谢你们的解答! |
|
最新喜欢:![]() |
沙发#
发布于:2005-01-05 17:52
2000的操作系统,动态加载的驱动???
|
|
板凳#
发布于:2005-01-05 17:52
应该不可能的,仔细检查你的驱动是不是真的加载上了。
|
|
|
地板#
发布于:2005-01-05 17:53
如果初用,建议先用filemon来试一下,比较容易上手。
:) :) |
|
|
地下室#
发布于:2005-01-05 19:52
如果初用,建议先用filemon来试一下,比较容易上手。 我没有研究过sfilter。sfilter和filemon之间的最大的区别是什么呢? |
|
5楼#
发布于:2005-01-05 20:18
SFILTER在2K下必须安装后开机启动才行,XP以后就可以动态装载了.应该没问题的,我观察过.
|
|
|
6楼#
发布于:2005-01-06 09:11
是不是在FastIoRead和FastIoWrite里面?
|
|
7楼#
发布于:2005-01-06 14:32
在下在sfilter的每个函数最初都加入了dbgprint语句输出标示信息
一般的操作最最常出现的信息是下面的: =ccp=>In SfCreate...... =ccp=>In SfFastIoDeviceControl...... =ccp=>In SfPassThrough...... =ccp=>In SfCleanup...... =ccp=>In SfClose...... 发现每次在系统启动时会出现几次SfRead,以后就没有了。SfWrite则从来没有出现过。上面toadwolf仁兄提到的FastIoRead和FastIoWrite则从来没有出现过。 另:在观察中发现,SfPassThrough几乎每次处理的都是IRP_MJ_DEVICE_CONTROL,我不太明白这究竟是在做什么……正在研究ifs的帮助文档,不知道能否找到答案。 ---------------- 我用的系统是win2k,驱动应该加载上去了,因为可以看到我的调试信息。 我知道新人应该自己多研究,但我真的希望研究过sfilter的朋友给我一些提示,谢谢! [编辑 - 1/6/05 by quicking] |
|
8楼#
发布于:2005-01-06 14:46
还有,我自定义了SfRead和SfWrite函数,里面的工作和SfCleanupClose完全一样,只是做了irp的传递工作。是不是还要定义完成例程才可以?好郁闷,现在连读写操作也拦截不到,更别提动态加解密了……
|
|
9楼#
发布于:2005-01-18 17:18
楼主兄弟,你我遇到同样的问题不知道你的问题解决了没有,我加了SfRead 和 ReadCompletion在sfilter.c中,根本不执行 我的这两个函数,还有sfilter自身的SfCreate这个函数也不执行。只有SfPassThrough执行。如果你解决了请把经验share一下。
|
|
|
10楼#
发布于:2005-01-18 17:38
楼上的朋友,我的问题出在Sfilter与Fat32格式的文件系统不能绑定。没有机会在其他的操作系统上作比较,但是我将其中一个分区转换成NTFS之后就好了。
现在问题就是Sfilter在我的机子上只能与NTFS绑定,而FAT32不可以。这个问题还是没有解决。 =============割一下================= 对于你的SfCreate问题,我的是这样子的: SfCreate =====> SfFastIoDeviceControl =====> SfPassThrough 每次都是在执行IRP_MJ_DEVICE_CONTROL |
|
11楼#
发布于:2005-01-19 11:23
我的分区是NTFS的,但就是不执行SfRead,不知道怎么回事,有的说我没有帮定到valume上,但Sfilter已经做帮定了吧?到底怎么会事呢?quicking 能否把你的代码片断发给我啊 我的信箱Paladin@redsec.org
|
|
|
12楼#
发布于:2005-01-19 12:46
楼上的,到底你的Sfilter又没有绑定在文件系统或者Volume上,你可以用Device Tree来看。这个工具在IFS的工具包里。
我回到家后会给你发邮件的。 :P |
|
13楼#
发布于:2005-01-20 17:08
兄弟,回家了吗?快发个我啊很急 谢谢。
另外,你说Device Tree 我IFS Kit 里没有啊,你用的是什么版本?我的是IFS XP,如果有2003的顺便发给我一个。谢谢 |
|
|
14楼#
发布于:2005-01-31 17:09
在FastIoRead和FastIoWrite里.
|
|
15楼#
发布于:2005-02-05 16:50
已经解决了。
|
|
|