-
-
[求助]Win7下获取System进程中句柄的对象失败
-
发表于: 2010-7-3 20:15 5321
-
我程序的目的是通过进程打开的文件句柄获取句柄对应的文件名,主要代码如下
以上代码在WinXp上运行正常,所有进程都有效。但是在Win7上唯独对System进程无效
我观察了ObReferenceObjectByHandle的返回值是STATUS_INVALID_HANDLE,不知道是不是KeStackAttachProcess操作system进程没有成功,是不是win7不允许attach它。
哪位大侠能告诉我其中的原因,或者有没有解决问题的办法。我看到Process Explorer可以看win7的句柄和文件不知道它是如何实现的。
感激不尽!
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的句柄和文件不知道它是如何实现的。
感激不尽!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
赞赏
雪币:
留言: