阅读:4016回复:32
有关Filemon
在Filemon源码中有这样一个结构体
// // Structure for the fileobject/name hash table // typedef struct _nameentry { PFILE_OBJECT FileObject; struct _nameentry *Next; CHAR FullPathName[]; } HASH_ENTRY, *PHASH_ENTRY; 它有什么作用》? 另外代码中的H A S H T A B L E M A N A G E M E N T 包含的函数FilemonHashCleanup、FilemonFreeHashEntry 有何作用? 如果不用这些,会有什么影响吗? 请各位大侠指点! |
|
沙发#
发布于:2003-05-28 05:15
实在找不到filemon的代码,劳驾哪位给再发一份,多谢!
sunxinwei@yahoo.com |
|
板凳#
发布于:2003-05-26 13:25
谢谢了
已经收到 |
|
|
地板#
发布于:2003-05-26 11:00
已经发了
|
|
地下室#
发布于:2003-05-26 09:19
楼上的,换个邮箱,好像发不出去哦!
不过本站上有,你自己找一下! |
|
|
5楼#
发布于:2003-05-25 22:35
我下载了filemon 的代码
为什么你们提到的 函数,我这一个也没有呢 请问那样还要下载的地方 在这里感谢了 那位大侠 发一份 代码,好吗? lky@21mail.com 再次感谢 |
|
|
6楼#
发布于:2003-05-12 18:18
我说的都是Filemon源码中的,怎么回事呢?
而且我用的是2kDDK,操作系统也是w2k server 应该不会有问题吧 |
|
7楼#
发布于:2003-05-12 18:06
如果你是在2k下用2k ddk编译的而却在nt下使用,会有这个问题。
|
|
|
8楼#
发布于:2003-05-12 17:06
为什么用DDK编译得到的SYS文件只有56.2k,而在EXE文件夹中的SYS文件却有187k?
我把187K的SYS文件用56.2k的代替,就会出错: “Error loading...:2:系统找不到指定的文件” 怎么回事? 请各位高手指点! |
|
9楼#
发布于:2003-04-23 17:35
又问这个问题啊。我试着回答啊。
首先表现在源码中,filemondeviceroutine接受所有发送到filemon这个filter的irp. filemonhookroutine接受到的是所有发送到filemon下面一个driver的irp. Types of I/O Requests That Are Sent to a Volume 是对一个voulm的irp请求, 而Types of I/O Requests That Are Sent to a File System是对文件系统本身的irp请求, 这个从这两句话就可以看出来啊。 同一个Volume可能有好几个File System,它们是层状结构。现在filemon位于这个层状结构的 最上层。所以它能得到所有对硬盘文件的访问(这儿好像有问题,filemon好像监控的只是一部分文件)。 |
|
|
10楼#
发布于:2003-04-23 13:36
to vcmfc:
我想实现的就是你说的那种最土的办法,以filemon的框架为基础, 还请大侠多指点一下。 按照我前面的想法,在FilemonHookRoutine中的 case IRP_MJ_CREATE:下, KeSetEvent(Irp->UserEvent,2,FALSE); Irp->IoStatus.Status=STATUS_PENDING; Irp->IoStatus.Information=0; IoMarkIrpPending(Irp); hookExt->CreateIrp=Irp; return STATUS_PENDING; 这样的办法行得通吗?如果不行,应该从哪下手呢? 还有,在IFS中,Types of I/O Requests That Are Sent to a Volume和Types of I/O Requests That Are Sent to a File System有很大的差别;反映在源码中,filemondeviceroutine中用的是Types of I/O Requests That Are Sent to a File System,而在filemonhookroutine中用的是Types of I/O Requests That Are Sent to a Volume 能不能帮忙解释一下? 没有办法,不懂的地方太多了,还请多见谅! :) |
|
11楼#
发布于:2003-04-23 09:38
“最土的办法,访问就denied,然后弹出对话框,认证,行的话,用户再click一次就可以”
这种办法到是不错,就是用户用起来不太方便。 vcmfc说的对,用filter的话,会安全一点。 |
|
|
12楼#
发布于:2003-04-23 00:55
打开一个文件有3-4个IRP_MJ_CREATE IRP,而且是连续的。
可用锁来解决。 对于这种方式认证方式,我一直对可行性存在怀疑,有时间我试试。 最土的办法,访问就denied,然后弹出对话框,认证,行的话,用户再click一次就可以。我觉得这种折中的办法较可行。 IRP_MJ_CREATE有许多特殊的地方,要多多细心研究。 to nustzhua : NT安全机制有一个弱点,同时管理员,可以相互更改其权限。你设置不行,如果大家都是管理员,我照访问。可用filter,你连门都没有。 除非你改注册表,可是如果filter连reg都hook,才是我的东东只有我能访问。 |
|
13楼#
发布于:2003-04-22 20:15
TO nustzhua :
非常感谢!以后有什么问题,还请多指教! 很奇怪,为什么你会觉得我是学着玩玩, :( 看来是态度不太认真。 :) ntfs有这样的安全特性我知道, 我的任务就是要把这个特性模拟出来, 而关于这方面的资料很少,也没人指导,所以很郁闷阿! |
|
14楼#
发布于:2003-04-22 18:07
TO nustzhua : 佩服 ! 不用这么夸奖吧,呼呼。 |
|
|
15楼#
发布于:2003-04-22 18:06
难道我看错了?没有啊,的确是这样的,除了个别的。 呼呼,现在看来你不只是学来玩一玩了。下面是一些建议: 把事件的同步的处理好好研究研究; 不要害怕挫折。 其实你这样做也没有多大意义,在ntfs文件系统中有了安全特性,可以限制一个文件(目录)可以被那些用户使用。\"想在IRP_MJ_CREATE时,通知应用程序,弹出身份验证的对话框\"无非也就要达到这样的目的。 忘了说这个功能以前我也想去实现,但自从我知道了ntfs的安全特性之后,就没有这个想法了。:) 祝你好运! |
|
|
16楼#
发布于:2003-04-22 17:42
TO nustzhua : 佩服 !
|
|
|
17楼#
发布于:2003-04-22 16:47
难道我看错了?没有啊,的确是这样的,除了个别的。
另外,我想在IRP_MJ_CREATE时,通知应用程序,弹出身份验证的对话框,我是这样想的:先建立一个事件,让它在驱动部分挂起, 在FilemonHookRoutine中的 case IRP_MJ_CREATE:下,添加了如下代码: KeSetEvent(Irp->UserEvent,2,FALSE); Irp->IoStatus.Status=STATUS_PENDING; Irp->IoStatus.Information=0; IoMarkIrpPending(Irp); hookExt->CreateIrp=Irp; return STATUS_PENDING; 并且把LogRecord屏蔽了, 但是好像不起作用阿,在filemon中仍然能看到IRP_MJ_CREATE请求 |
|
18楼#
发布于:2003-04-22 15:06
是这样的么,你好好看看。
|
|
|
19楼#
发布于:2003-04-22 11:52
在IFS中,Types of I/O Requests That Are Sent to a Volume和Types of I/O Requests That Are Sent to a File System有很大的差别;反映在源码中,filemondeviceroutine中用的是Types of I/O Requests That Are Sent to a File System,而在filemonhookroutine中用的是Types of I/O Requests That Are Sent to a Volume
能不能帮忙解释一下? 感激不尽!!! |
|
上一页
下一页