阅读:3081回复:19
请问,文件系统过滤驱动能不能像Filemon一样动态加载?
我用Filemon的方法试图动态加载文件系统过滤驱动,这样就不用重起机器,但是搞不定.有人做过类似的事情吗?欢因讨论!
|
|
沙发#
发布于:2007-05-23 08:26
FileMon加载的就是文件系统过滤驱动,你还想怎么着?
|
|
|
板凳#
发布于:2007-05-23 09:14
情况是这样的:我把IFSDDK中的sfilter编译成sys文件,想用filemon一样的方法动态安装和卸载,方便调试.但是我试着做了,不能成功.假定我的程序有问题,那么我把我编译好的sys文件放在filemon源代码的sys文件同一个目录下,然后在filemon中把SYS_NAME改成我自己的sys文件名称.现在,我用filemon来加载我的sys文件,但是依然不能成功,问题何在?
如果不明白我可以再补充(语言组织可能不好). |
|
地板#
发布于:2007-05-23 09:16
熟悉filemon的朋友都来说说,教教迷茫中的人.
|
|
地下室#
发布于:2007-05-23 09:25
下面一个小程序可以帮你完成这件事情。加载:lddriver -i DriverName DriverFullPath,卸载:lddriver DriverName DriverFullPath
|
|
|
5楼#
发布于:2007-05-23 12:59
大概意思是
Filemon过滤加载文件驱动不用重启动 而sfilter需要重启动才能加过滤文件驱动... 把然后把sfilter该成filemon那样的模式. 一个是WDM分层过滤驱动(WIN32 setup API inf 安装),一个是内核模式过滤的(Win32服务API)。 ![]() |
|
6楼#
发布于:2007-05-23 16:17
好像不行,我用你给我的程序动态安装filemon可以,但是sfilter安装不上.难道像加/解密过滤驱动只能用静态安装吗?
|
|
7楼#
发布于:2007-05-23 16:23
引用第6楼gaopl_8278于2007-05-23 16:17发表的 : 可以的,你可以参考 http://bbs.driverdevelop.com/htm_data/39/0705/102091.html 我一直都这么做。 |
|
8楼#
发布于:2007-05-23 16:37
重构一下框价....
本来是WIN32 setup API inf 安装你用Win32服务API安装,即便用其他动态加载驱动的东东加载起来来,意义何在,求心理安慰,,,, ![]() |
|
9楼#
发布于:2007-05-23 16:38
再次感谢!我看过了这篇文章,马上去试,应该没问题了.
|
|
10楼#
发布于:2007-05-23 18:51
xiexiecn老兄,我又试了一试.除了sfilter以外,像filemon,filedisk等的sys文件都可以正常加载.你说这是什么原因?难道是我的程序有问题吗?我是用DriveStudio+VC6.0+XPSP2环境编译.我首先创建一个Kernel的驱动框架,然后把框架里面的所有文件替换成sfilter里面的文件,在sfitler下没有的当然就删掉了.这样是不是不行?
|
|
11楼#
发布于:2007-05-23 21:35
我相信你的问题和lauer 的类似,你自己修改一下lddriver,看看到底哪一步出错。
|
|
12楼#
发布于:2007-05-24 18:28
搞定了加载,就是卸载不了.ControlSevice(...)错误码1752,意思是请求的控件对该驱动无效.
|
|
驱动小牛
![]() |
13楼#
发布于:2007-05-24 18:41
改成人工启动行了,filemon应该是将驱动放在了程序里面.
|
|
14楼#
发布于:2007-05-25 15:12
今天莫名其妙地搞定了,可以加载,也可以卸载,没出现过一次错误.这个问题就到此为止了,谢谢大家支持!
|
|
15楼#
发布于:2007-05-25 15:31
最好搞清楚原因,否则会莫明其妙地失败..
|
|
|
16楼#
发布于:2007-05-29 20:19
...........................................................
|
|
|
17楼#
发布于:2007-05-31 10:19
filemon驱动是附在程序数据区的,运行时动态生成。你IDA 一下filemon就明白了,Mark的代码非常清晰易懂。
|
|
18楼#
发布于:2007-07-19 21:13
我现在理解了楼主的问题
其实不是加载不行,加载时可以 但是由于windows2000无法自动枚举已经激活的文件系统 所以无法绑定文件系统和上面的卷 所以加载后无法做到过滤 只有重启以后才可以 这就是开发教程第二版中所说的 “所以2000 下进行动态加载有一定的困难。因为你必须自己枚举所有已经激活的文件系统。同时枚举设备在2000 下 又是另一个困难,你必须使用未公开的调用。这个你可以拷贝wowocock 的代码。他总是自己编写2000 下缺少的调用。” 我现在也是头疼这个问题,又找不到wowocock 的代码 |
|
19楼#
发布于:2007-07-22 22:35
|
|