如何检测WDM驱动程序中的会话创建/终止



我正在为Windows构建一个设备驱动程序(WDM驱动程序,32位),我需要检测终端会话的创建和关闭。

我知道如何获取调用进程(ZwQueryInformationProcessProcessSessionInformation标志)的会话ID。我还拦截了图形驱动程序加载/卸载到会话的事件(通过拦截ZwSetSystemInformationSystemLoadImage/SystemUnLoadImage)。

我希望会话创建/关闭事件之后会调用SystemCreateSession/SystemDeleteSession标志的ZwSetSystemInformation。但不幸的是,这并没有发生。到目前为止,我没有找到会话创建/关闭的良好指示。

SystemCreateSessionSystemDeleteSession不再使用。我没有对此做太多的调查,但是看看当传递给NtCreateUserProcess的ProcessFlags中设置0x80标志时。这可能与为每个会话创建CSR有关。

最新更新