· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Про драйверы...

Посл.отвђт Сообщенiе


Дата: Июл 10, 2003 09:14:57

Какой всё-таки функцией можно определить ImageBase другого загруженного драйвера?


Дата: Июл 10, 2003 11:19:38 · Поправил: nikitOS

Кривовато, но вариант: если драйвер создает Device, то можно сделать IoGetDeviceObjectPointer, потом берем любую валидную функцию из DeviceObject->DriverObject->MajorFunction[ ] и бежим вверх в поисках MZ/PE заголовка...

Возможные баги:
- если кто-то приаттачился на исходный девайс, то IoGetDeviceObjectPointer вернет DeviceObject того самого устройства, поэтому лучше разобрать сию функцию и проделать все тоже самое только без вызова последнего IoGetAttachedDevice.
- если кто-то нагло похукал все MajorFuncton то найдем мы ImageBase не того драйвера :)


Дата: Июл 10, 2003 12:05:23

Если тебе известно имя драйвера, то найти ImageBase можно
так:

ZwQuerySystemInformation( SystemModuleInformation, ...


Дата: Июл 12, 2003 09:31:41

Вообще мне надо сделать так - по адресу найти драйвер, которому этот адрес принадлежит, ну и соответственно смещение от ImageBase. Так вот, хотелось бы знать как это оптимальнее всего сделать.


Дата: Июл 18, 2003 04:08:39

dragon Если будеш на 0 ring, то возми свой
адрес, выравняй его на границу страницы, и уменьшая
адрес на страницу ищи по смещению 0 "MZ", ну естественно
для полной уверености проверь и др. атрибуты формата PE.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.036