如何获取驱动对象的名称?


在驱动中,如果知道一个_DRIVER_OBJECT的指针,那么如何能得到该驱动对象的名称呢?

驱动 windows

党国委员长 12 years, 3 months ago

使用ObQueryNameString即可
驱动对象的名字是存储在OBJECT_HEADER_NAME_INFO里面,该结构如下:

   
  typedef struct _OBJECT_HEADER_NAME_INFO {
  
POBJECT_DIRECTORY Directory; //对象所属的路径
UNICODE_STRING Name;//对象名
ULONG QueryReferences;
} OBJECT_HEADER_NAME_INFO, *POBJECT_HEADER_NAME_INFO;

从驱动对象获取设备对象的指针后,再定位到内核对象头,获取其名称即可;对于没名称的设备对象,可以使用对应的驱动对象名称。

WHITEUR answered 12 years, 3 months ago

Your Answer