首页
社区
课程
招聘
[求助]Win7下获取System进程中句柄的对象失败
发表于: 2010-7-3 20:15 5201

[求助]Win7下获取System进程中句柄的对象失败

2010-7-3 20:15
5201
我程序的目的是通过进程打开的文件句柄获取句柄对应的文件名,主要代码如下

  
status = PsLookupProcessByProcessId(ProcessId,&Process);  //ProcessId=4,System process 
  if(NT_SUCCESS(status) && Process)
   {
       KeStackAttachProcess(Process,&apcstate);
       status = ObReferenceObjectByHandle(handle, FILE_ALL_ACCESS, *IoFileObjectType, KernelMode, &Object, NULL);  //handle--system打开的某文件句柄,
   }
   //之后通过object获得文件名

以上代码在WinXp上运行正常,所有进程都有效。但是在Win7上唯独对System进程无效

我观察了ObReferenceObjectByHandle的返回值是STATUS_INVALID_HANDLE,不知道是不是KeStackAttachProcess操作system进程没有成功,是不是win7不允许attach它。
哪位大侠能告诉我其中的原因,或者有没有解决问题的办法。我看到Process Explorer可以看win7的句柄和文件不知道它是如何实现的。

感激不尽!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//