阅读:1673回复:9
磁盘层上挂接了我的驱动,怎样获取IRP_MJ_WRITE对应应用程序名!大侠多帮忙!!!!
我在磁盘层上挂接了我的驱动,这时候监控IRP_MJ_WRITE,想知道是哪个应用程序产生的这个中断,我用getprocessid获取到的大部分是system,进行数据写入,
我怎么做才能够知道,具体是哪个应用程序在写数据呢。例如:有个程序叫test.exe,它从d盘拷贝数据到e盘,我监控e盘的IRP_MJ_WRITE,我怎么能够准确的知道, 哪个IRP_MJ_WRITE是test.exe,产生的呢,?希望各位大侠多指导,找不到答案郁闷阿!!! |
|
沙发#
发布于:2007-03-12 11:19
目前看 你只有实现自己的文件系统来为每一各磁盘I/O IRP增加一个名称字段来跟踪
|
|
|
板凳#
发布于:2007-03-12 12:11
我最老实大侠,请问我应该在哪里挂接呢, 如果我在文件系统上面挂接,这个irp的字段是否可以被传下来,在什么字段里修改,是否可以明示!谢谢
|
|
地板#
发布于:2007-03-12 12:18
fliemon里面有源码!
|
|
地下室#
发布于:2007-03-12 13:31
磁盘层,几乎不可能实现这样的
|
|
5楼#
发布于:2007-03-12 17:05
引用第4楼yuanyuan于2007-03-12 13:31发表的“”: 如果是自己开发的文件系统,也不是不可能。 ![]() |
|
|
6楼#
发布于:2007-03-13 09:42
Re:磁盘层上挂接了我的驱动,怎样获取IRP_MJ_WRITE对应应用程序名!大侠多帮忙!
可以在文件系统过滤曾,通过irp,得到进程的eprocess结构,就可以解决楼主的问题,但是磁盘层,就不知道行不行 |
|
7楼#
发布于:2007-03-13 16:08
PsGetCurrentProcess
|
|
8楼#
发布于:2007-03-13 20:41
Re:Re:磁盘层上挂接了我的驱动,怎样获取IRP_MJ_WRITE对应应用程序名!大侠多帮忙!
引用第6楼yaolixing于2007-03-13 09:42发表的“Re:磁盘层上挂接了我的驱动,怎样获取IRP_MJ_WRITE对应应用程序名!大侠多帮忙!”: 通过IRP如何获得EPROCESS?请帮忙指点。 |
|
9楼#
发布于:2007-03-14 22:26
通过PsGetCurrentProcess获取eprocess结构,一定不行啦,都获取的是系统进程
|
|