#windows #debugging #kernel #windbg
#Windows #отладка #ядро #windbg
Вопрос:
Я пытаюсь найти адрес базового модуля объекта драйвера в режиме ядра, это вредоносный драйвер минифильтра, и проблема в том, что driverentry и адреса основных функций a кажутся поддельными (все 0), я попытался просмотреть структуру DRIVER_OBJECT, используя как команду DT, так и команду !drvobj 2, но ни один из них не показывает, где на самом деле загружен модуль, который представляет этот объект драйвера? команда lm также не показывает его, как я могу найти адрес базового модуля драйвера, если у меня есть доступ только к его объекту драйвера?
почему в структуре _DRIVER_OBJECT нет записи, которая показывает адрес базового модуля драйвера?
вывод команды dt :
kd> dt _DRIVER_OBJECT 86b51448
hal!_DRIVER_OBJECT
0x000 Type : 0n4
0x002 Size : 0n168
0x004 DeviceObject : (null)
0x008 Flags : 0x12
0x00c DriverStart : (null)
0x010 DriverSize : 0
0x014 DriverSection : (null)
0x018 DriverExtension : 0x86b514f0 _DRIVER_EXTENSION
0x01c DriverName : _UNICODE_STRING "Driverdumpx"
0x024 HardwareDatabase : 0x82dad250 _UNICODE_STRING "REGISTRYMACHINEHARDWAREDESCRIPTIONSYSTEM"
0x028 FastIoDispatch : (null)
0x02c DriverInit : (null)
0x030 DriverStartIo : (null)
0x034 DriverUnload : (null)
0x038 MajorFunction : [28] 0x880b69e0 long <Unloaded_crashdmp.sys> 19e0
Основные указатели на функции также указывают на другой безопасный модуль!
Комментарии:
1. DRIVER_OBJECT является непрозрачной структурой, и элемент DriverStart не документирован как доступный, возможно, проверьте DriverExtension-> AddDevice