能力值:
( LV3,RANK:20 )
|
-
-
2 楼
仅供参考 https://stackoverflow.com/questions/42389211/fltregisterfilter-not-working
|
能力值:
( LV5,RANK:73 )
|
-
-
3 楼
有偿你倒是开个悬赏贴啊
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
FltRegisterFilter会检测你的inf是否有安装并创建注册表项目,函数调用失败说明你注册表里该有的没有
|
能力值:
( LV1,RANK:0 )
|
-
-
5 楼
のばら
FltRegisterFilter会检测你的inf是否有安装并创建注册表项目,函数调用失败说明你注册表里该有的没有
谢谢。文件过滤驱动的加载是要先写注册表的
|
能力值:
( LV5,RANK:60 )
|
-
-
6 楼
STATUS_OBJECT_NAME_NOT_FOUND 可以用如下rundll32命令安装MiniFileFilter rundll32.exe syssetup SetupInfObjectInstallAction DefaultInstall 128 .inf文件路径 .inf文件中可以配置服务启动类型,安装完后OpenService,StartService启动服务就可以了。
最后于 2020-11-4 11:47
被低调putchar编辑
,原因:
|
能力值:
( LV5,RANK:60 )
|
-
-
7 楼
//操作回调集
static CONST FLT_OPERATION_REGISTRATION operCallbacks[]={
{
IRP_MJ_CREATE, //文件的创建
0,
OnFltCreatePreCallback,
OnFltCreatePostCallback,
NULL
},
{
IRP_MJ_READ, //文件的读
0,
OnFltReadPreCallback,
OnFltReadPostCallback,
NULL
},
{
IRP_MJ_WRITE, //文件的写
0,
OnFltWritePreCallback,
OnFltWritePostCallback,
NULL
},
{
IRP_MJ_SET_INFORMATION, //文件的设置
0,
OnFltSetInformationPreCallback,
OnFltSetInformationPostCallback,
NULL
},
{
IRP_MJ_QUERY_INFORMATION, //文件的查询
0,
OnFltQueryInformationPreCallback,
OnFltQueryInformationPostCallback,
NULL
},
{
IRP_MJ_CLEANUP, //清理操作
0,
OnFltCleanupPreCallback,
OnFltCleanupPostCallback,
NULL
},
{
IRP_MJ_CLOSE, //关闭操作
0,
OnFltClosePreCallback,
OnFltClosePostCallback,
NULL
},
{IRP_MJ_OPERATION_END}
};
...
do{
....
//填写微过滤器注册结构
g_userGlobalInfo.g_fltRegistration.Size=sizeof(FLT_REGISTRATION);
g_userGlobalInfo.g_fltRegistration.Version=FLT_REGISTRATION_VERSION;
#if DBG
g_userGlobalInfo.g_fltRegistration.Flags=0;
#else
g_userGlobalInfo.g_fltRegistration.Flags=FLTFL_REGISTRATION_DO_NOT_SUPPORT_SERVICE_STOP;
#endif
g_userGlobalInfo.g_fltRegistration.ContextRegistration=NULL;
g_userGlobalInfo.g_fltRegistration.OperationRegistration=operCallbacks;
g_userGlobalInfo.g_fltRegistration.FilterUnloadCallback=OnFltUnloadCallback;
g_userGlobalInfo.g_fltRegistration.InstanceSetupCallback=OnFltInstanceSetupCallback;
g_userGlobalInfo.g_fltRegistration.InstanceQueryTeardownCallback=OnFltInstanceQueryTearDownCallback;
g_userGlobalInfo.g_fltRegistration.InstanceTeardownStartCallback=OnFltInstanceTearDownStartCallback;
g_userGlobalInfo.g_fltRegistration.InstanceTeardownCompleteCallback=OnFltInstanceTearDownCompleteCallback;
//注册微过滤器
ntStatus=FltRegisterFilter(pDriverObject,
&g_userGlobalInfo.g_fltRegistration,
&g_userGlobalInfo.g_pFltFilter);
if(!NT_SUCCESS(ntStatus)){
KdPrintEx((
DPFLTR_IHVDRIVER_ID,
DPFLTR_ERROR_LEVEL,
"Failed to FltRegisterFilter[DriverEntry]!Status: 0x%08X\n",
ntStatus
));
break;
}
...
}while(FALSE);
我的MiniFileMonitor中FltRegisterFilter没有你说的那个现象,运行很稳定,你再检查下!
最后于 2020-11-4 14:40
被低调putchar编辑
,原因:
|
能力值:
( LV1,RANK:0 )
|
-
-
8 楼
低调putchar
//操作回调集
static CONST FLT_OPERATION_REGISTRATION operCallbacks[]={
& ...
文件过滤驱动和一般的驱动不一样,要想加载文件过滤驱动,需要先安装inf文件
|
能力值:
( LV3,RANK:30 )
|
-
-
9 楼
说白了就是注册表中的实例和高度你没有写,4楼已经说了
|
能力值:
( LV5,RANK:60 )
|
-
-
10 楼
Paula。
文件过滤驱动和一般的驱动不一样,要想加载文件过滤驱动,需要先安装inf文件
把:服务名,.sys文件名, .inf文件名,.inf文件中的相关内容名称全部统一起来, 然后安装.inf加载驱动再试试,我的全部统一为了MiniFileMonitor名,所以是正常的。
|
能力值:
( LV5,RANK:60 )
|
-
-
11 楼
通过修改注册表,把你描述的问题浮现出来了: (1)正常情况:
(2)0xc0000034失败(STATUS_OBJECT_NAME_NOT_FOUND) 我把键名改为:Instances2, 让它找不到实例
解决方法1. 修复注册表 然后重启
解决方法2: 1.管理权权限: sc delete 服务名 2.重启 3.管理权权限执行命令再次安装: rundll32.exe syssetup SetupInfObjectInstallAction DefaultInstall 128 .inf文件路径 4.net start 服务名
注: 如果你做了对注册表的防护,请暂时关掉注册表防护,修复完了再开启。
不要人民币,毕竟大家挣点钱都不容易!以后在适当时候,给我点看雪币就可以了。
|