为什么PsGetCurrentProcessId()返回null?

时间:2013-01-17 06:51:08

标签: c windows kernel windbg pid

我遇到了一个奇怪的问题:

在“系统”流程的一个主题中,我调用了PsGetCurrentProcessId(),但得到了一个空值。

此外,我检查了线程的_CLIENT_ID,发现UniqueProcess和UniqueThread都为null。

我还检查了当前进程,即“系统”进程,发现其UniqueProcessId为4,这是正常的。

为什么?

1 个答案:

答案 0 :(得分:1)

系统进程ID是一个非常好的“黑客”,因此多个工具(例如ProcExp,windbg)不需要特殊情况内核线程或空闲函数调度程序。

如果你是一个只有内核的线程,你没有一个关联的进程(除非你自己攻击一个)。