检测隐藏进程(5)
Code:
void GetPspCidTable()
{
PUCHAR cPtr, pOpcode;
ULONG Length;
for (cPtr = (PUCHAR)PsLookupProcessByProcessId;
cPtr < (PUCHAR)PsLookupProcessByProcessId + PAGE_SIZE;
cPtr += Length)
{
Length = SizeOfCode(cPtr, &pOpcode);
if (!Length) break;
if (*(PUSHORT)cPtr == 0x35FF && *(pOpcode + 6) == 0xE8)
{
PspCidTable = **(PVOID **)(pOpcode + 2);
break;
}
}
}
现在我们知道怎样处理PspCidTable了,可以非常容易地查看到所有进程的表中的所有元素,分析那些属于隐藏进程的对象,就像我们在用户态
做的一样,如果你已经理解了前面所讲的东西,你一定可以做得到。
中文参考:《JIURL玩玩Win2k进程线程篇 HANDLE_TABLE》(http://jiurl.nease.net/document/JiurlPlayWin2k/PsHandleTable.htm)
感谢:firstrose, JIURL, linhanshi.
顶(0)
踩(0)
- 最新评论