Icesword的进程检测分析:
当Icesword查看进程时,从用户态发送Irp给驱动,其中传入了在用户态获取的进程个数和Peb地址。
在Icesword的驱动中进行检测,主要利用NtQurtySystemInformation获取指定进程的句柄,再利用未公开的函数ExEnumHandleTable获取所有进程相关的句柄,并对各个进程及其句柄进行比较,从而达到检测隐藏进程的目的。当然Icesword在调用上面两个函数时都进行了函数检查是否被Inline hook,Icesword检查了前0x23个字节(为什么是0x23?问pjf吧),如果被挂钩则进行恢复。以下是部分代码。
但是FuEn删除了PspcideTable中的句柄,为什么还不能绕过Icesword呢?