-
-
未解决
[求助] 读取PEB中数据蓝屏问题
-
发表于:
2019-10-28 18:47
3547
-
首先声明,此问题目前仅在win10的1809跟1903上发现了,其他系统并未出现,而且即便在1809与1903上也非必现而是偶尔出现。
从dump来看的话,似乎都指向了代码中尝试从PEB中读取SessionId信息的时候,内存不可读导致了蓝屏。在读取信息前也做了KeStackAttachProcess以及ProbeForRead。
出问题的机器不方便进行调试只能反馈Dump。有没有老哥有一些想法的,提供一下可以怀疑或者排查的点,十分感谢。
补充一些信息:
!process 0 0命令去看的话发现有不少进程的handlecount是0,ObjectTable也是0的,触发的问题的csrss进程也是这样。
是否是因为这个进程实际已经结束了,但是由于某些原因仍然残留了信息,导致peb中的数据无法读取进而蓝屏。
在论坛上看到有人提到PsAcquireProcessExitSynchronization/PsReleaseProcessExitSynchronization这一组接口,看说明应该是为了防止访问时进程退出的。
但是首先在attach中我仅做了读取sessionid,并无其他操作,应该是很快速的。而且dump中显示不止一个进程是这样的状态,感觉不像是恰好在attach后恰好遇到了进程退出,更像是进程已经是这种状态一段时间了。
因此加上这一组函数是否有效,如果进程是上面提到的特殊状态,此时acquire是会返回失败吗?到底是什么原因导致了进程的这种特殊状态的出现?有没有有经验的老哥说明一下
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-11-7 16:44
被MSGG05编辑
,原因: 补充一些信息