admin管理员组

文章数量:1537082

在win7中 _OBJECT_HEADER变化比较大。不能直接取出_OBJECT_TYPE对象,而是使用对象在ObTypeIndexTable中的索引来引用_OBJECT_TYPE。

下面使用windbg来掩饰xp和win7获取_OBJECT_TYPE的方法。

xp系统获取方法

使用!object查看一个文件对象信息

lkd> !object 8914b2c0
Object: 8914b2c0  Type: (896a9ad0) File
    ObjectHeader: 8914b2a8 (old version)
    HandleCount: 1  PointerCount: 1
    Directory Object: 00000000  Name: \WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83 {HarddiskVolume1}

看到ObjectHeader后面显示old version。

下面接着看该文件对象的对象头

lkd> dt nt!_OBJECT_HEADER 8914b2a8 
   +0x000 PointerCount     : 0n1
   +0x004 HandleCount      : 0n1
   +0x004 NextToFree       : 0x00000001 Void
   +0x008 Type             : 0x896a9ad0 _OBJECT_TYPE
   +0x00c NameInfoOffset   : 0 ''
   +0x00d HandleInfoOffset : 0x8 ''
   

本文标签: 区别方法XPOBJECTTYPEOBJECTHEADER