首页
社区
课程
招聘
[讨论]FltBuildDefaultSecurityDescriptor
发表于: 2011-11-2 17:12 8491

[讨论]FltBuildDefaultSecurityDescriptor

2011-11-2 17:12
8491
DbgPrint("DriverEntry--3333333  curIRQL=%d  DPCL=%d  APCL=%d",KeGetCurrentIrql(),DISPATCH_LEVEL,APC_LEVEL);
Sleep(3000);

status  = FltBuildDefaultSecurityDescriptor( &sd, FLT_PORT_ALL_ACCESS );
DbgPrint("DriverEntry--3334444");

系统 WINXP
该函数位置在  DriverEntry函数里面
问题  总是打印了 DriverEntry--3333333  curIRQL=0  DPCL=2  APCL=1 就蓝屏

不知道 有木有哪位仁兄遇到过此类问题  用WINDBG调试也没发现什么问题

BugCheck A, {0, 2, 1, 806e7a16}

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 62
活跃值: (112)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
DriverEntry本来就运行于PASSIVE_LEVEL,所有一切正常
2011-11-2 17:58
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看着波澜不惊  却暗藏杀机   
为什么连 3334444 都还没打印 就蓝屏了  充分说明这里有问题啊
2011-11-3 08:45
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个是为什么呢? 我的帖子都没人回
下面公布最新状况  貌似是调用了 FltStartFiltering 然后等个几十秒 就会崩溃
这个是为什么呢?
                DbgPrint("DriverEntry--KKK--5555111 \n");
//                status = FltStartFiltering( gFilterHandle );
                DbgPrint("DriverEntry--KKK--555222 \n");
                Sleep(43000);   在这里等待时候就会崩溃  
                DbgPrint("DriverEntry--KKK--555555 \n");
                Sleep(33000);
2011-11-3 13:29
0
雪    币: 405
活跃值: (2855)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
确保你使用WDK的例子,并且使用里面的 INF安装,否则的话,你会死的很惨。
2011-11-3 13:33
0
雪    币: 1149
活跃值: (1033)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
6
我觉得等待有问题, driverentry  一般是init —code 一次使用就完了,如果等待时间过长,也不知道 他会不会,认为内存占有过长,系统自动蓝调........ 可以做做试验 试试...
2011-11-3 13:46
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
绝对和等待时间无关  
//    status = FltStartFiltering( gFilterHandle );
屏蔽掉就不会蓝屏了  
2011-11-3 14:19
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
  我已经死很惨了  不怕了  壑出去了
2011-11-3 14:23
0
雪    币: 1149
活跃值: (1033)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
9
NTSTATUS
  FltStartFiltering(
    IN PFLT_FILTER  Filter     *********//P    ?
    );
2011-11-3 22:50
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
哥们没招了  求大神指点迷途小羔羊吧!FltStartFiltering 别人可以调用 就不允许我调用么

1,把寒江独钓源码 DrivyEntry中的代码 拷贝到我的DriveryEnry中去
    然后  寒江独钓源码和我的都再下面位置停顿 60S  主要确定是不是调用了 FltStartFiltering 出错  果然我的在这个位置出错 只打印第一句话。寒江独钓源码顺利通过           
     status = FltStartFiltering( gFilterHandle );
     KdPrint(("FltStartFiltering waite 60S"));
    Sleep( 60000 );
   KdPrint(("FltStartFiltering wait pass 111"));
2,偶实在是找不到原因并且确实以前那个工程是同事以前做的  于是重新建了个工程
把代码拷贝了过去  仍然无效 并且DriveryEntry还是用的寒江独钓中的一模一样  就是要蓝
2011-11-4 11:12
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
PFLT_FILTER gFilterHandle;
status = FltStartFiltering( gFilterHandle );
这个之前会调用  所以应该不是参数有什么问题吧 而且我都直接用寒江独钓的源码了
        status = FltRegisterFilter( DriverObject,
                                                                &FilterRegistration,
                                                                &gFilterHandle );
2011-11-4 11:17
0
雪    币: 405
活跃值: (2855)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
12
你用WDK里的例子去做就没问题了。不要自己想当然。
2011-11-4 12:43
0
雪    币: 204
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
  
问题解决了  是AlfiMiniMessage函数里面 调用
KeAcquireInStackQueuedSpinLock(&g_alfi_list_Lock,&connListLockHandle);
这个地方没有 & 符号 造成的错误  但是 还是没想通
1 为什么这个函数里面这里错了 在 FltStartFiltering 这个函数后面sleep这里就要出错
要出错也应该是 调用 它过后才出错啊
status = FltCreateCommunicationPort( gFilterHandle,
                &gServerPort,
                &oa,
                NULL,
                AlfiMiniConnect,
                AlfiMiniDisconnect,
                AlfiMiniMessage,
                1 );
2011-11-7 17:37
0
游客
登录 | 注册 方可回帖
返回