SysInternal的WinObj设备列表机制

Ben*_*min 1 windows operating-system device-driver systems-programming

SysInternals的WinObj可以列出所有设备对象.

我想知道它如何列出设备.

我们可以阅读任何开源吗?(或代码片段)

我应该知道的最重要的功能是什么?

小智 6

WinObj使用NT系统调用NtOpenDirectoryObjectNtQueryDirectoryObject.不需要驱动程序或内核代码.您将看不到导入,因为这些NT函数是通过LoadLibrary/ 加载的GetProcAddress.

您不必枚举整个对象命名空间.如果你有兴趣在设备对象调用NtOpenDirectoryObject"\Device",然后调用NtQueryDirectoryObject上返回的句柄.