Hi
I just want to see the handle table of a process.
I chose pid:c40 for the test
Here is the handle table
I took an entry of a handle of an opened process (xyz.exe) and its member 'Object' gave the address 85c84989
but PEPROCESS of xyz.exe was 85c849a0.
why the difference of 17 bytes? Then I thought of OBJECT_HEADER but then again it is of 18 bytes.
and also in case of inheritable handles there was a difference of 15 bytes.
Thanks and Regards
Utsav
I just want to see the handle table of a process.
I chose pid:c40 for the test
Code: Select all
and got the ObjectTable address: e23736c8lkd> !process c40 0
Searching for Process with Cid == c40
Cid handle table at e2382000 with 630 entries in use
PROCESS 852e7b18 SessionId: 0 Cid: 0c40 Peb: 7ffd9000 ParentCid: 0818
DirBase: 06f70000 ObjectTable: e23736c8 HandleCount: 46.
Image: vsnp2uvc.exe
Here is the handle table
Code: Select all
TableCode : 0xe2d1e000 is the array of _HANDLE_TABLE_ENTRYlkd> dt _handle_table e23736c8
nt!_HANDLE_TABLE
+0x000 TableCode : 0xe2d1e000
+0x004 QuotaProcess : 0x852e7b18 _EPROCESS
+0x008 UniqueProcessId : 0x00000c40 Void
+0x00c HandleTableLock : [4] _EX_PUSH_LOCK
+0x01c HandleTableList : _LIST_ENTRY [ 0xe1cce19c - 0xe20e820c ]
+0x024 HandleContentionEvent : _EX_PUSH_LOCK
+0x028 DebugInfo : (null)
+0x02c ExtraInfoPages : 0n0
+0x030 FirstFree : 0xbc
+0x034 LastFree : 0
+0x038 NextHandleNeedingPool : 0x800
+0x03c HandleCount : 0n46
+0x040 Flags : 0
+0x040 StrictFIFO : 0y0
I took an entry of a handle of an opened process (xyz.exe) and its member 'Object' gave the address 85c84989
but PEPROCESS of xyz.exe was 85c849a0.
why the difference of 17 bytes? Then I thought of OBJECT_HEADER but then again it is of 18 bytes.
and also in case of inheritable handles there was a difference of 15 bytes.
Thanks and Regards
Utsav