首页
社区
课程
招聘
[求助]驱动中如何调用NtQueryInformationProcess
发表于: 2008-4-26 13:13 10275

[求助]驱动中如何调用NtQueryInformationProcess

2008-4-26 13:13
10275
我想用以下代码在驱动中获得当前进程的PEB,但是每次调用NtQueryInformationProcess返回的都是0xC0000005,STATUS_ACCESS_VIOLATION ,请问要怎样才能正确的调用这个函数啊?

      PROCESS_BASIC_INFORMATION ProcessBasicInfo = {0};

      hCurrentProcess = ZwCurrentProcess();

      Status = NtQueryInformationProcess(hCurrentProcess,
        ProcessBasicInformation,
        &ProcessBasicInfo,
        sizeof(PROCESS_BASIC_INFORMATION),
        &tmp);
      if (STATUS_SUCCESS == Status)
      {
        KdPrint(("%ws\n",ProcessBasicInfo.PebBaseAddress->ProcessParameters->ImagePathName.Buffer));
      }
      else
      {
        KdPrint(("NtQueryFail:%lX,PEB:%p\n",Status,ProcessBasicInfo.PebBaseAddress));
      }

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
高手们帮帮忙啊
2008-4-27 00:49
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
自己再顶,高手们来看看啊
2008-4-28 22:31
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
4
NtQueryInformationProcess的实质是读EPROCESS

如果只是要获得PEB的话,只需要PsGetCurrentProcess得到本进程EPROCESS结构指针,然后EPROCESS结构的偏移0x1B0处(XP和2k貌似都是这个偏移)保存的PVOID值就是PebBaseAddress,或者有个未文档的内核函数PsGetProcessPeb(唯一的参数就是这个EPROCESS指针),返回值也就是PebBaseAddress(操作实质是一样的)

至于你这样NtQueryInformationProcess,试了一下真的蓝了,不清楚原因……
2008-4-28 22:50
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我的倒是没蓝屏,但是读不到数据
2008-4-29 21:41
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
驱动中使用Nt*的一些函数需要system thread的上下文
2008-6-19 22:01
0
雪    币: 239
活跃值: (40)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
7
楼上正解。

需要 RequestorMode == KernelMode
2008-6-19 22:50
0
雪    币: 287
活跃值: (102)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
用Zw*不是很好吗
2008-6-19 23:02
0
雪    币: 93
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
蓝屏是因为这句
KdPrint(("%ws\n",ProcessBasicInfo.PebBaseAddress->ProcessParameters->ImagePathName.Buffer));

因为进程"system" 的peb的值总为0,引用一个值为0的指针导致BSOD
2008-10-9 21:30
0
雪    币: 66
活跃值: (16)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
use ZwQueryInformationProcess instead
2008-10-10 20:16
0
游客
登录 | 注册 方可回帖
返回
//