首页
社区
课程
招聘
[求助]win10的句柄表结构
发表于: 2016-8-2 17:29 8648

[求助]win10的句柄表结构

2016-8-2 17:29
8648
使用windbg本地内核调试时,可以找到ObjectTable地址,结构如下:
nt!_HANDLE_TABLE
   +0x000 NextHandleNeedingPool : 0x2000
   +0x004 ExtraInfoPages   : 0n0
   +0x008 TableCode        : 0xffffc001`d6485001
   +0x010 QuotaProcess     : 0xffffe000`99f1a080 _EPROCESS   所在进程的EPROCESS地址。
   +0x018 HandleTableList  : _LIST_ENTRY [ 0xffffc001`d694c058 - 0xffffc001`ce5f4b58 ]
   +0x028 UniqueProcessId  : 0x190c
   +0x02c Flags            : 0
   +0x02c StrictFIFO       : 0y0
   +0x02c EnableHandleExceptions : 0y0
   +0x02c Rundown          : 0y0
   +0x02c Duplicated       : 0y0
   +0x02c RaiseUMExceptionOnInvalidHandleClose : 0y0
   +0x030 HandleContentionEvent : _EX_PUSH_LOCK
   +0x038 HandleTableLock  : _EX_PUSH_LOCK
   +0x040 FreeLists        : [1] _HANDLE_TABLE_FREE_LIST
   +0x040 ActualEntry      : [32]  ""
   +0x060 DebugInfo        : (null)
但不知道其他字段什么意思?哪里有 句柄--对象 结构?
我感觉应该已经有人研究过这个了,请知道的帮助一下,非常感谢。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
2
这里仅仅是Table不是TableEntry自然没有对象

Entry是用ExpLookupHandleTableEntry查的,然后Entry里才有ObjectRef
2016-8-2 17:38
0
雪    币: 10
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢提示,我再研究一下
2016-8-2 18:13
0
雪    币: 135
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
win10还不太稳定,大家都开始下手了。。。。
2016-8-2 19:23
0
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
撸。。。。。。。。。。。。。。。。。。。。。。。
2016-8-3 10:13
0
雪    币: 284
活跃值: (250)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
WIN10 有点特殊。ExpLookupHandleTableEntry里返回的玩意儿需要进行
<<= 4
|=0xFFFF000000000000
+= 0x30
2016-8-10 17:22
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
WIN8后 系统乱七八糟的锁越来越多   很多函数用法都变复杂了。
而且明显感觉系统越来越慢    真不知道是进步还是退步
2016-8-10 20:09
0
雪    币: 8835
活跃值: (2404)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
8
CPU进步了,所以速度越来越快
2016-8-11 22:18
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
win10 1607里面有个PspReferenceCidTableEntry(HANDLE handle,CHAR type)也调用了ExpLookupHandleTableEntry,这个PspReferenceCidTableEntry函数获取到的我不知道是啥(返回一个指针),感觉像是EPROCESS,但我逆向水平差,现在还没搞明白(函数参数好像是两个,第一个是就是pid,第二个不确定是不是一个字节的值),顺带一提,type如果是进程类型,则数值为 7Fh ,我不太确定
最后于 2019-5-23 20:02 被脚本灬丨小子编辑 ,原因:
2019-5-23 19:17
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10

而且_HANDLE_TABLE_ENTRY也变成了下面这样,没找到Object

+0x000 VolatileLowValue : Int8B
   +0x000 LowValue         : Int8B
   +0x000 InfoTable        : Ptr64 _HANDLE_TABLE_ENTRY_INFO
   +0x008 HighValue        : Int8B
   +0x008 NextFreeHandleEntry : Ptr64 _HANDLE_TABLE_ENTRY
   +0x008 LeafHandleValue  : _EXHANDLE
   +0x000 RefCountField    : Int8B
   +0x000 Unlocked         : Pos 0, 1 Bit
   +0x000 RefCnt           : Pos 1, 16 Bits
   +0x000 Attributes       : Pos 17, 3 Bits
   +0x000 ObjectPointerBits : Pos 20, 44 Bits
   +0x008 GrantedAccessBits : Pos 0, 25 Bits
   +0x008 NoRightsUpgrade  : Pos 25, 1 Bit
   +0x008 Spare1           : Pos 26, 6 Bits
   +0x00c Spare2           : Uint4B

最后于 2019-5-23 19:18 被脚本灬丨小子编辑 ,原因:
2019-5-23 19:17
0
雪    币: 207
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
gmhzxy WIN10 有点特殊。ExpLookupHandleTableEntry里返回的玩意儿需要进行 &lt;&lt;= 4 |=0xFFFF000000000000 += 0x30
左移四位其实就是& (~0xF))  这样吧
2019-5-23 20:00
0
游客
登录 | 注册 方可回帖
返回
//