yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
阅读:1611回复:5

tooflat请进,关于你发表的HookDrive函数

楼主#
更多 发布于:2005-06-30 11:45
  在驱网里,看到你的关于SHADOW的代码,其中用的是FILEMON中的HOOKDRIVE函数名字,如下:

HookDrive(
IN PDRIVER_OBJECT DriverObject,
IN WCHAR DriveLetter
)

那么
1:你修改的是FILEMON么?我这里他总是不稳定,兰屏,不爽。我试试在FILEMON中加入你这段SHADOW的代码,希望能OK。
2:是将FILEMON中的这个函数加到SFILTER中么?我正在试图这么做,初步结果也是兰屏,需要继续看。

谢谢指点。
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-30 13:18
我也记不清楚了
可能我当时测试的时候是用的FileMon,不过如果要加到sfilter,需要在SfFsControlMountVolume中创建设备的时候就创建ShadowDevice,并关联起来,如果动态加载,还要在SfEnumerateFileSystemVolumes中做同样的操作
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-30 14:05
这中间其实涉及到好多个细节。

1:我是需要WIN2K,XP,2003都能运行的。
2:动态加载。

你说的“如果动态加载,还要在SfEnumerateFileSystemVolumes中做同样的操作”,我不是很明白如何才能诱发SfEnumerateFileSystemVolumes这个动作(WIN2K,XP,2003)?
静态加载的过程,倒是比较明了,通过IoRegisterFsRegistrationChange注册SfFsNotification后,会自动调用SfAttachToFileSystemDevice及相关的SfEnumerateFileSystemVolumes。
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2005-06-30 14:51
静态加载的过程,倒是比较明了,通过IoRegisterFsRegistrationChange注册SfFsNotification后,会自动调用SfAttachToFileSystemDevice及相关的SfEnumerateFileSystemVolumes。

.......


在xp后的os中,在动态加载中 调用status = IoRegisterFsRegistrationChange( DriverObject, SfFsNotification );之后,对每个激活的fs,系统调用SfFsNotification。当对所有的fs都调用SfFsNotification 后,才执行 status = IoRegisterFsRegistrationChange( DriverObject, SfFsNotification );之后 的代码的。
琢磨悟真知
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2005-06-30 15:02
除了那2个比较例外的
琢磨悟真知
yunyanrong
驱动小牛
驱动小牛
  • 注册日期2003-04-18
  • 最后登录2013-03-02
  • 粉丝0
  • 关注0
  • 积分1040分
  • 威望457点
  • 贡献值1点
  • 好评度90点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-30 15:24
下面是引用wywwwl于2005-06-30 14:51发表的:


在xp后的os中,在动态加载中...


非常感谢这个提示啊!

我意识到,我现在修改的FILEMON中没有打开某文件的动作,因此不存在M_CREATE的重入问题。
看来FILEMON还有其他大大的BUG呀。
游客

返回顶部