首页
社区
课程
招聘
[旧帖] 谁知道句柄值的最低位用来干什么的 0.00雪花
发表于: 2015-4-13 15:03 4427

[旧帖] 谁知道句柄值的最低位用来干什么的 0.00雪花

2015-4-13 15:03
4427
谁知道句柄值的最低位用来干什么的,进一步说最低2位是什么标志

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 37
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
句柄值就是相当于一个人的名字,区多少个都无所有,最低的可以达到1位,是用来辨别的!
不同的软件设置可以有不同的位数
2015-4-14 18:01
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
咳咳咳韩哥
2015-4-14 22:49
0
雪    币: 22
活跃值: (242)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
4
就是表示J进程句柄表结构的层数  EProcess--->ObjectTable
2015-4-19 08:08
0
雪    币: 581
活跃值: (215)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
句柄值只是该进程句柄表的索引,每一个索引对应一个句柄项(HANDLE_TABLE_ENTRY),具体句柄所代表的对象及含义可以参考其结构。EPROCESS中有一个类型为HANDLE_TABLE的成员ObjectTable,该结构的第一个成员TableCode的低两位代表有句柄表结构有几层。你可能问的是这个意思吧。
2015-4-21 11:47
0
雪    币: 147
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不是啊,不是句柄表低2位,是句柄HANDLE handle(句柄值的最低2位用来干嘛的)
    if ((ULONG_PTR)SectionHandle & 1) {
        Flags |= PROCESS_CREATE_FLAGS_BREAKAWAY;
    }
像这种用法一定是句柄值最低位是1,这个句柄值的最低位1用来表示什么呢,句柄一般是从4开头的,所以最低2位可以用来做一些标志,句柄的最高位是1表示内核句柄,最低位是1表示什么呢
2015-6-15 17:28
0
雪    币: 4
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
句柄的内存保存在一块句柄表里,句柄的寻址方式是0开始的偏移值,所以这个偏移值就作为句柄值,而内存地址是32位的,所以偏移值就是按4个字节对齐后增加的,从0开始:0,4,8,12等等.
2015-6-17 00:34
0
雪    币: 4
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
2个标志针对不同的功能定义的,因为他不在句柄表里用到,而某个引用后对这个值加上标志位,还原句柄位与后就是句柄值了.节约内存的.
2015-6-17 00:44
0
游客
登录 | 注册 方可回帖
返回
//