Win7 _Object_header 中的 TypeIndex

Win7 比较 xp下ObjectHeader中的内容有所变化,xp直接在OBJECT_HEADER里保存了POBJECT_TYPE指针,而Win7中把所有的对象类型放在了一个表里,这个表叫做ObTypeIndexTable。可以这么定义为:

POBJECT_TYPE ObTypeIndexTable[0x100];

Win7的对象头中不再保存ObjectType指针,而是保存了TypeIndex,也就是对象类型在该表中的索引,并且提供了一个函数ObGetObjectType。需要取得对象类型时直接使用导出函数ObGetObjectType就可以得到对应的对象类型了,反而比以前方便。
该函数非常简单,还原成代码如下:

POBJECT_TYPE 
ObGetObjectType(
    IN PVOID Object)
{
    POBJECT_HEADER ObjectHeader=OBJECT_TO_OBJECT_HEADER(Object);
    return ObTypeIndexTable[ObjectHeader->TypeIndex];
}

代码很简单,传入一个对象,取对象头中的TypeIndex作为索引,然后返回ObTypeIndexTable中对应的值。
一个简单的获取所有对象类型指针的方法就是:从ObGetObjectType中取ObTypeIndexTable遍历即可

kd> dd ObTypeIndexTable
83f7c900  00000000 bad0b0b0 86344768 863446a0
83f7c910  863445d8 863e2040 863e2f00 863e2e38
83f7c920  863e2d70 863e2ca8 863e2be0 863e2528
83f7c930  863fe418  863fe350 86405040 86405208
83f7c940  86405140 864092f8 86409230 86409168
83f7c950  863ffc90   863ffbc8 863ffb00 863ffa38
83f7c960  863ff970   863ff8a8 863ff7e0 863ff718
83f7c970  863ff650   86406f78 86406eb0 86406de8

 

转载于:https://www.cnblogs.com/lanrenxinxin/p/4671083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值