利用文件过滤驱动做文件加密,在读写文件时,根据进程进行判别,允许某些进程读取时解密,而其他进程读取时不解密,反过来写的时候也一样。这个有可能做到吗?我试试发现读写时简单通过PsGetCurrentProcess()取得的经常是System,不可行。文件全路径可以通过在Crea...
全文
回复(6) 2007-03-13 21:20 来自版块 - 文件系统(过滤)驱动程序开发
表情
yandong_8212对于Filter,你在分发函数里面获得的进程就是发起这个IRP的进程,比如一个应用程序CreateFile,到你的CreateDispatch里面,然后PsGetXXX获得的就是应用程序的进程.如果是在内核线程中ZwCreateFile,那这个时候的IRP通常也会到CreateD...(2007-03-14 13:30)
rayyang2000引用第4楼youngwinter于2007-03-14 10:56发表的“”: How?请大牛指点一下。PsGetCurrentProcess()好像不行。我只要进程名就行啦,进程全路径拿起来很麻烦,倒是没有必要。 去kernel版搜索一下,会出来一大堆,还有源代码可以拿~~(2007-03-14 10:19)
youngwinter引用第2楼znsoft于2007-03-13 21:46发表的“”: 可以在filter驱动中得到进程块及进程路径 How?请大牛指点一下。PsGetCurrentProcess()好像不行。我只要进程名就行啦,进程全路径拿起来很麻烦,倒是没有必要。(2007-03-14 08:56)
rayyang2000almost in most cases...(2007-03-14 06:16)
znsoft可以在filter驱动中得到进程块及进程路径(2007-03-13 21:46)
youngwinter仔细想了一下,因为CacheManager的存在,这样的功能恐怕实现不了,如果退一步的话,对于非指定的进程,把他们的读写IRP都返回失败,是不是应该可以做到?(2007-03-13 21:31)

返回顶部