Re: 问各位老师,用什么命令看驱动产生的设备对象???
Windows内核调试
问各位老师,用什么命令看驱动产生的设备对象???
Da Vinci
2009-02-16, 17:02 下午
windbg调试的时候,想看一个驱动对象所产生的设备对象。但是首先驱动对象就没有找到....用命令!object \driver\驱动名,windbg说没有找到对象。因为找不到驱动对象,所以它产生的设备对象也就没有办法用!devobj命令来看了。
另外,我直接用!devobj \device\harddiskvolume1,为什么也是说没有找到对象呢? 这个设备我用winobj都能看到,为什么用windbg看不到?
到底如何才能察看一个设备对象的结构呢?
Re: 问各位老师,用什么命令看驱动产生的设备对象???
格蠹老雷
2009-02-17, 00:17 上午
!drvobj ntfs
Driver object (8ac8b9f8) is for:
\FileSystem\Ntfs
Driver Extension List: (id , addr)
Device Object list:
8a977770 8ac87770 8acafb50
dt _DEVICE_OBJECT 8a977770
nt!_DEVICE_OBJECT
+0x000 Type : 3
+0x002 Size : 0x860
+0x004 ReferenceCount : 0
+0x008 DriverObject : 0x8ac8b9f8 _DRIVER_OBJECT
+0x00c NextDevice : 0x8ac87770 _DEVICE_OBJECT
+0x010 AttachedDevice : 0x8a6bddd0 _DEVICE_OBJECT
+0x014 CurrentIrp : (null)
+0x018 Timer : (null)
+0x01c Flags : 0
+0x020 Characteristics : 0
+0x024 Vpb : (null)
+0x028 DeviceExtension : 0x8a977828
+0x02c DeviceType : 8
+0x030 StackSize : 10 ''
+0x034 Queue : __unnamed
+0x05c AlignmentRequirement : 1
+0x060 DeviceQueue : _KDEVICE_QUEUE
+0x074 Dpc : _KDPC
+0x094 ActiveThreadCount : 0
+0x098 SecurityDescriptor : (null)
+0x09c DeviceLock : _KEVENT
+0x0ac SectorSize : 0x200
+0x0ae Spare1 : 1
+0x0b0 DeviceObjectExtension : 0x8a977fd0 _DEVOBJ_EXTENSION
+0x0b4 Reserved : (null)
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Da Vinci
2009-02-17, 13:01 下午
为什么我用!drvobj ntfs,显示:
Driver object (89408000) is for:
89408000: is not a driver object??
Re: 问各位老师,用什么命令看驱动产生的设备对象???
MJ0011
2009-02-17, 14:28 下午
需要加上对象路径
!drvobj \Driver\Ntfs
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Da Vinci
2009-02-17, 16:43 下午
1: kd> !drvobj \Driver\Ntfs
Driver object \Driver\Ntfs not found
仍然显示这个问题
一直都没找到能列出驱动对象的方法。。。。到底怎么回事啊
Re: 问各位老师,用什么命令看驱动产生的设备对象???
格蠹老雷
2009-02-17, 17:19 下午
前两天刚讨论你遇到的错误呀:
http://advdbg.org/forums/1203/ShowPost.aspx
Re: 问各位老师,用什么命令看驱动产生的设备对象???
王宇
2009-02-17, 17:27 下午
0: kd> !object \
filesystem
\ntfs
Object: 89ddce20 Type: (89e63e70) Driver
ObjectHeader: 89ddce08 (old version)
HandleCount: 0 PointerCount: 8
Directory Object: e14f1838 Name: Ntfs
0: kd> dt nt!_driver_object 89ddce20
+0x000 Type : 4
+0x002 Size : 168
+0x004 DeviceObject : 0x89b4d318 _DEVICE_OBJECT
+0x008 Flags : 0x92
+0x00c DriverStart : 0xb9d60000
+0x010 DriverSize : 0x8c600
+0x014 DriverSection : 0x89e65708
+0x018 DriverExtension : 0x89ddcec8 _DRIVER_EXTENSION
+0x01c DriverName : _UNICODE_STRING "\FileSystem\Ntfs"
+0x024 HardwareDatabase : 0x8067e260 _UNICODE_STRING "\REGISTRY\MACHINE\HARDWARE\DESCRIPTION\SYSTEM"
+0x028 FastIoDispatch : 0xb9d7f9a0 _FAST_IO_DISPATCH
+0x02c DriverInit : 0xb9de5384 long Ntfs!GsDriverEntry+0
+0x030 DriverStartIo : (null)
+0x034 DriverUnload : (null)
+0x038 MajorFunction : [28] 0xb9d85e01 long Ntfs!NtfsFsdCreate+0
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Da Vinci
2009-02-17, 22:30 下午
张老师,因为我调试的是win7的内核,ntfs我已经用lm t n命令看过了,应该是已经加载了。
上次的帖子我没看到,我的windbg版本是6000,是不是说要用win7 DDK中的windbg版本来调试才能看到驱动的内核对象?
如果是这样,我再装一个win7 DDK试一下。
谢谢张老师解答
Re: 问各位老师,用什么命令看驱动产生的设备对象???
MJ0011
2009-02-18, 00:18 上午
噢 忘了,ntfs在filesystem目录下~
参考王宇
Re: 问各位老师,用什么命令看驱动产生的设备对象???
Da Vinci
2009-02-18, 12:43 下午
加上\filesystem也没有用
应该是张老师说的对,因为版本不同,drvobj依赖内核的