quicking
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2017回复:15

关于sfilter截获IRP_MJ_XXX的问题,谢谢!

楼主#
更多 发布于:2005-01-05 17:32
我用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的截获信息。
请问这是什么原因?虽然是很基础的问题,但仍然谢谢你们的解答!

最新喜欢:

hnfudyhnfudy
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-05 17:52
2000的操作系统,动态加载的驱动???
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-05 17:52
应该不可能的,仔细检查你的驱动是不是真的加载上了。
在交流中学习。。。
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-05 17:53
如果初用,建议先用filemon来试一下,比较容易上手。
 :) :)
在交流中学习。。。
cicada
驱动小牛
驱动小牛
  • 注册日期2003-12-09
  • 最后登录2008-07-11
  • 粉丝1
  • 关注0
  • 积分74分
  • 威望15点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-05 19:52
如果初用,建议先用filemon来试一下,比较容易上手。
 :) :)

我没有研究过sfilter。sfilter和filemon之间的最大的区别是什么呢?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2005-01-05 20:18
SFILTER在2K下必须安装后开机启动才行,XP以后就可以动态装载了.应该没问题的,我观察过.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
toadwolf
驱动牛犊
驱动牛犊
  • 注册日期2003-11-30
  • 最后登录2013-11-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望67点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-06 09:11
是不是在FastIoRead和FastIoWrite里面?
quicking
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
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]
quicking
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2005-01-06 14:46
还有,我自定义了SfRead和SfWrite函数,里面的工作和SfCleanupClose完全一样,只是做了irp的传递工作。是不是还要定义完成例程才可以?好郁闷,现在连读写操作也拦截不到,更别提动态加解密了……
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-01-18 17:18
楼主兄弟,你我遇到同样的问题不知道你的问题解决了没有,我加了SfRead 和 ReadCompletion在sfilter.c中,根本不执行 我的这两个函数,还有sfilter自身的SfCreate这个函数也不执行。只有SfPassThrough执行。如果你解决了请把经验share一下。
Ideas for life!
quicking
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
10楼#
发布于:2005-01-18 17:38
楼上的朋友,我的问题出在Sfilter与Fat32格式的文件系统不能绑定。没有机会在其他的操作系统上作比较,但是我将其中一个分区转换成NTFS之后就好了。
现在问题就是Sfilter在我的机子上只能与NTFS绑定,而FAT32不可以。这个问题还是没有解决。
=============割一下=================
对于你的SfCreate问题,我的是这样子的:
SfCreate =====> SfFastIoDeviceControl =====> SfPassThrough
每次都是在执行IRP_MJ_DEVICE_CONTROL
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2005-01-19 11:23
我的分区是NTFS的,但就是不执行SfRead,不知道怎么回事,有的说我没有帮定到valume上,但Sfilter已经做帮定了吧?到底怎么会事呢?quicking 能否把你的代码片断发给我啊 我的信箱Paladin@redsec.org
Ideas for life!
quicking
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
12楼#
发布于:2005-01-19 12:46
楼上的,到底你的Sfilter又没有绑定在文件系统或者Volume上,你可以用Device Tree来看。这个工具在IFS的工具包里。

我回到家后会给你发邮件的。 :P
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2005-01-20 17:08
兄弟,回家了吗?快发个我啊很急 谢谢。
另外,你说Device Tree 我IFS Kit 里没有啊,你用的是什么版本?我的是IFS XP,如果有2003的顺便发给我一个。谢谢

Ideas for life!
meng20020311
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2005-02-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-01-31 17:09
在FastIoRead和FastIoWrite里.
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-02-05 16:50
已经解决了。
Ideas for life!
游客

返回顶部