Программирование драйверов Windows

       

Программа w2k_sym


Консольное приложение для Windows NT, позволяющее просматривать процессы и работающие драйверы режима ядра. Например, по команде

w2k_sym /v /d >list.txt

программа выводит список загруженных драйверов (см. фрагмент распечатки ниже) в текстовый файл list.txt. В данном случае (для компьютера, на котором проводился тест) первые 27 записей абсолютно идентичны списку DLL и системных драйверов, выводимому при загрузке операционной системы, если в файл boot.ini ввести ключ загрузки /sos (обеспечивающий вывод на экран списка загружаемых драйверов во время старта системы).

121 drivers Monday, 12-30-2002, 14:29:07

# ADDRESS SIZE NAME ------------------------------------------------------------------- 1: 804D0000 1E4580 \WINDOWS\system32\ntoskrnl.exe 2: 806B5000 1F700 \WINDOWS\system32\hal.dll 3: FD998000 1B80 \WINDOWS\system32\KDCOM.DLL 4: FD8A8000 3000 \WINDOWS\system32\BOOTVID.dll 5: FD44B000 2BE00 ACPI.sys 6: FD99A000 1100 \WINDOWS\System32\DRIVERS\WMILIB.SYS 7: FD498000 F500 pci.sys 8: FD4A8000 8D00 isapnp.sys 9: FD99C000 1100 viaide.sys 10: FD718000 5C80 \WINDOWS\System32\DRIVERS\PCIIDEX.SYS 11: FD4B8000 9280 MountMgr.sys 12: FD42C000 1EA00 ftdisk.sys 13: FD99E000 1700 dmload.sys 14: FD408000 23C80 dmio.sys 15: FD720000 4900 PartMgr.sys 16: FD4C8000 C000 VolSnap.sys 17: FD3F2000 15280 atapi.sys 18: FD4D8000 8380 disk.sys 19: FD4E8000 AF80 \WINDOWS\System32\DRIVERS\CLASSPNP.SYS 20: FD3E0000 11300 sr.sys 21: FD3BC000 23580 Fastfat.sys 22: FD3A8000 13780 KSecDD.sys 23: FD380000 27700 NDIS.sys 24: FD728000 6B00 viaagp.sys 25: FD9A0000 1C80 nmfilter.sys 26: FD362000 1D320 Siwvid.sys 27: FD348000 19600 Мuр.sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Интересно, что по командам

w2k_sym /v /m - выводить список загруженных модулей w2k_sym /v /p - выводить список работающих процессов

информация о драйверах не выводится. Это косвенный, но уверенный намек на то, что драйверы не представляют полноценных процессов (впрочем, как и динамические библиотеки, DLL), а работают в контексте того кода, который к ним обратился.



Содержание раздела