首页
社区
课程
招聘
[求助]ZwQueryInformationThread失败
发表于: 2008-10-16 02:31 11878

[求助]ZwQueryInformationThread失败

2008-10-16 02:31
11878
SSDT Hook ZwOpenThread后,ZwQueryInformationThread一直失败
请问是不是不能在这里使用ZwQueryInformationThread呢,如果是该如何处理呢?
NTSTATUS Hook_ZwOpenThread(
  OUT PHANDLE            ThreadHandle,
  IN ACCESS_MASK          AccessMask,
  IN POBJECT_ATTRIBUTES  ObjectAttributes,
  IN PCLIENT_ID          ClientId )
{
        NTSTATUS ntStatus,QueryStatus;
        THREAD_BASIC_INFORMATION         tbi;
        ULONG         PID = 0;  
       
        ntStatus = OldZwOpenThread(ThreadHandle,AccessMask,ObjectAttributes,ClientId);
        if( uProcetProcessId != 0 )
        {
                if( NT_SUCCESS(ntStatus))
                {
                        QueryStatus = ZwQueryInformationThread(ThreadHandle,ThreadBasicInformation,&tbi,sizeof(THREAD_BASIC_INFORMATION),NULL);
                        if( NT_SUCCESS(QueryStatus))
                        {
                                DbgPrint("Hook_ZwOpenThread ZwQueryInformationThread %u",(ULONG)tbi.ClientId.UniqueProcess);
                                PID = (ULONG)tbi.ClientId.UniqueProcess;
                                if( PID == uProcetProcessId )
                                {
                                        DbgPrint("Hook_ZwOpenThread %d",uProcetProcessId);
                                        ThreadHandle = NULL;
                                        return STATUS_ACCESS_DENIED;
                                }
                        }
                        else
                        {
                                DbgPrint("ZwQueryInformationThread FAILED: %08X ,%08X\n", QueryStatus,(ULONG)ThreadHandle);
                        }
                     
    }
  }
  return ntStatus;

}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 339
活跃值: (29)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
我也有这样的问题,顶一个 期待大牛的回答
不知道为什么 ZwQueryInformationThread 返回一直不成功
2008-12-25 23:10
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没人回答?
2009-5-18 21:31
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
4
PHANDLE            ThreadHandle

===
你这要能成功,老天真瞎了眼了
2009-5-19 00:10
0
雪    币: 193
活跃值: (26)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
5
ZwQueryInformationThread 第一参数接受的好象是 HANDLE 而不是指针PHANDLE吧!MJ牛是这个意思吗?
2009-5-19 02:35
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
6
楼上正解,但是这个类型虽然不匹配,编译器是不报的,因为PVOID接受任何类型的指针
2009-5-19 06:39
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
如今写驱动的人都没点C基础,
2009-5-19 09:38
0
游客
登录 | 注册 方可回帖
返回
//