阅读:2900回复:1
minifilter中替换PreCreate中DesiredAccess的问题我想禁止读某个文件,可以通过返回ACCESS_DENIED实现 但是如果通过修改DesiredAccess实现可不可以呢? 比如下面禁止读123456这个文件 if(strstr(asName.Buffer,"123456") > 0) { PCHAR pszImageName = (PCHAR)PsGetCurrentProcess() + ImageFileNameOffset; DbgPrint("PreCreate %s -> %s [%08X]\n",pszImageName,asName.Buffer,Data->Iopb->Parameters.Create.SecurityContext->DesiredAccess); Data->Iopb->Parameters.Create.SecurityContext->DesiredAccess &= ~FILE_GENERIC_READ; FltSetCallbackDataDirty(Data); DbgPrint("PreCreate %s -> %s [%08X]\n",pszImageName,asName.Buffer,Data->Iopb->Parameters.Create.SecurityContext->DesiredAccess); } 这样之后看到dbgview中已经改了DesiredAccess。 但是应用程序依然能读数据。。为啥呢。。 禁止读同理不可行。。 求做过类似应用的大牛指点。。 |
|
沙发#
发布于:2012-05-14 11:51
又是刚贴出来就解决了 。。。
我贴 一下吧还是。。 Data->Iopb->Parameters.Create.SecurityContext->AccessState->RemainingDesiredAccess &= ~FILE_GENERIC_READ; |
|