1。HANDLE是以4个字节为倍数递增,IDLE的PID为0,SYSTEM进程的PID=4。
2. PspCidTable为全局句柄表,ObpKernelHandleTable为内核句柄表,不是一个概念,但是和我上一篇文章如何解析内核句柄表过程是一样的,有一点区别是解密后PspCidTable得到提Object,ObpKernelHandleTable得到提Object_Header。
PspCidTable里面记录的是所有进程和线程的信息。
ObpKernelHandleTable里面记录的是所有驱动打开或者创建的对象信息。
3. 拿PspCidTable手动解析,以印证逆向的真实性。
通过+0x008 TableCode : 0xffff810c`666ff001,这个001,我们可以得知这是二层结构,我们得到第一层的地址。
再来得到第二层的_HANDLE_TABLE_ENTRY,一项占0x10个字节,第0项和最后一项是不使用的:
开始解析:
由于TypeIndex 是加密的,那我们拿System进程的信息和句柄号为4来进行对比是不是一个。
至此,确定无误。