查看目标进程的对象和对象体

 ① !object    ,列出根目录下所有的对象,其中 objecttypes 目录下存在 Process 对象, 拿到对象头地址后直接 dt _object_header xxxxxxxx ,此种方法只能查出 ObjectType(其 Type 为 Type,由Create),即创建新进程时作为 ObCreateObject 函数的参数。所以其 header 中的很多域都为 Null

注意:此处的 Object:821b7e70 指的是对象体,即 _object_header +18h 即可找到对象体。

② !process 0 1 [ImageName] ,然后查看进程的对象表(类型为 _Handle_Table)

!object 0 7 8200dda0  即可。 8200dda0 是 _EProcess 结构体的首地址。

ObjectTable 中则存储着该进程中包含的所有的句柄,是找不到内核对象的。

注意这两个程序的 _Object_Type 的地址相同,都来自于本文的第一个图。

当在查看 Directory 对象时,Directory 是一个链式结构,前四字节索引到下一个八字节,后四字节是 object 地址。

原文地址:https://www.cnblogs.com/Rev-omi/p/14022885.html