lkd> dd nt!PspCidTable
8056a760 e1001ca8 00000002 00000001 00000000 // PspCidTable就是一个Handle_Table
8056a770 00000000 00000000 00000000 00000000
8056a780 e137052f 00000000 00000000 00000000
lkd> dt nt!_handle_table e1001ca8
+0x000 TableCode : 0xe1206001 // TableCode 的用处在另一篇关于句柄表的文章
+0x004 QuotaProcess : (null) // 这个句柄表是没有所属进程的
+0x008 UniqueProcessId : (null)
+0x00c HandleTableLock : [4] _EX_PUSH_LOCK
+0x01c HandleTableList : _LIST_ENTRY [ 0xe1001cc4 - 0xe1001cc4 ]
+0x024 HandleContentionEvent : _EX_PUSH_LOCK
+0x028 DebugInfo : (null)
+0x02c ExtraInfoPages : 0
+0x030 FirstFree : 0xadc
+0x034 LastFree : 0xa00
+0x038 NextHandleNeedingPool : 0x1000
+0x03c HandleCount : 897
+0x040 Flags : 1
+0x040 StrictFIFO : 0y1
lkd> dd 0xe1206000
e1206000 e1005000 e1211000 00000000 00000000 // 两张句柄表
e1206010 00000000 00000000 00000000 00000000
e1206020 00000000 00000000 00000000 00000000
用explorer的PID查一下,pid是364(10进制),乘2转16进制,每个0级表只能存512项,算好在哪个表
lkd> dd e1005000+2d8
e10052d8 894389d1 00000000 8938b199 00000000
e10052e8 89027881 00000000 893a8021 00000000
e10052f8 8942eb31 00000000 891dca21 00000000
lkd> dt nt!_eprocess 894389d1-1
+0x168 Filler : 0
+0x170 Session : 0xf79a5000
+0x174 ImageFileName : [16] "explorer.exe"
为什么减1?不知道,xp sp3就是这样