环境 windows10

_eprocess+0x418 _HANDLE_TABLE

_HANDLE_TABLE .TableCode & 7 表示是几级句柄表,每一级的大小是PAGE_SIZE,除最后一级外其他都是指向下一级的指针。

找到HANDLE_TABLE_ENTRY

typedef struct _HANDLE_TABLE_ENTRY
{
ULONG64 Unlocked : 1;
ULONG64 RefCnt : 16;
ULONG64 Attributes : 3;
ULONG64 ObjectPointerBits : 44;
ULONG64 GrantedAccessBits : 25;
ULONG64 NoRightsUpgrade : 1;
ULONG64 Spare1 : 6;
ULONG64 Spare2 : 32;
} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY;
static_assert(sizeof(_HANDLE_TABLE_ENTRY) == 0x10, “size check”);

(HANDLE_TABLE_ENTRY.ObjectPointerBits<<4)| 0xFFFF000000000000 得到_OBJECT_HEADER

ObGetObjectType(& _OBJECT_HEADER .Body)得到类型,然后就可以得到对象名字什么的

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注