是否有一种方法可以检测(在内核模式下)调试器(在用户模式下)是否连接到Windows上的另一个进程(也在用户模式下)?我在EPROCESS结构中找不到任何API或标志来揭示这些信息,理想情况下,我在寻找一个不能从用户模式的程序中更改的标志,但我不知道这些信息是否也保存在内核级别。谢谢!
EPROCESS
h43kikqp1#
存在(来自xp)未记录的API
extern "C" NTKERNELAPI BOOLEAN PsIsProcessBeingDebugged(PEPROCESS Process);
其中return Process->DebugPort != NULL非常简单可靠的API,可以用在任何irql上(因为Process对象在非分页内存中).
return Process->DebugPort != NULL
***存储库:***NtosKrnl.lib ****IRQL:***任何级别 *
1条答案
按热度按时间h43kikqp1#
存在(来自xp)未记录的API
其中
return Process->DebugPort != NULL
非常简单可靠的API,可以用在任何irql上(因为Process对象在非分页内存中).***存储库:***NtosKrnl.lib *
***IRQL:***任何级别 *