能力值:
( LV2,RANK:10 )
|
-
-
2 楼
句柄值就是相当于一个人的名字,区多少个都无所有,最低的可以达到1位,是用来辨别的!
不同的软件设置可以有不同的位数
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
咳咳咳韩哥
|
能力值:
( LV7,RANK:110 )
|
-
-
4 楼
就是表示J进程句柄表结构的层数 EProcess--->ObjectTable
|
能力值:
( LV8,RANK:130 )
|
-
-
5 楼
句柄值只是该进程句柄表的索引,每一个索引对应一个句柄项(HANDLE_TABLE_ENTRY),具体句柄所代表的对象及含义可以参考其结构。EPROCESS中有一个类型为HANDLE_TABLE的成员ObjectTable,该结构的第一个成员TableCode的低两位代表有句柄表结构有几层。你可能问的是这个意思吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
不是啊,不是句柄表低2位,是句柄HANDLE handle(句柄值的最低2位用来干嘛的)
if ((ULONG_PTR)SectionHandle & 1) {
Flags |= PROCESS_CREATE_FLAGS_BREAKAWAY;
}
像这种用法一定是句柄值最低位是1,这个句柄值的最低位1用来表示什么呢,句柄一般是从4开头的,所以最低2位可以用来做一些标志,句柄的最高位是1表示内核句柄,最低位是1表示什么呢
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
句柄的内存保存在一块句柄表里,句柄的寻址方式是0开始的偏移值,所以这个偏移值就作为句柄值,而内存地址是32位的,所以偏移值就是按4个字节对齐后增加的,从0开始:0,4,8,12等等.
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
2个标志针对不同的功能定义的,因为他不在句柄表里用到,而某个引用后对这个值加上标志位,还原句柄位与后就是句柄值了.节约内存的.
|
|
|