Как вы определяете исполняемый файл драйвера? - PullRequest
2 голосов
/ 23 марта 2012

Как вы определяете, является ли данный exe, dll или sys файл драйвером?Я имею в виду, что отличает драйвер от обычного исполняемого файла?

Ответы [ 3 ]

2 голосов
/ 10 апреля 2012

Образ драйвера всегда помечается как IMAGE_SUBSYSTEM_NATIVE (IMAGE_OPTIONAL_HEADER.Subsystem - См. Спецификацию исполняемого файла Microsoft ), а образ приложения обычно помечается как IMAGE_SUBSYSTEM_WINDOWS_GUI или IMAGE_S *YSST_S * *SSTYSSWSD.

0 голосов
/ 11 апреля 2012

@ mox - это правильно, однако это означает, что нужно углубиться в отладчик / hex-редактор / другой инструмент чтения заголовков PE. Вместо этого вы всегда можете посмотреть на зависимости файла (с помощью Dependency Walker ) и, если файл зависит от NTOSKRNL.EXE, то, скорее всего, это драйвер.

0 голосов
/ 09 апреля 2012

Обычный исполняемый файл работает в пользовательском режиме, а драйвер работает в режиме ядра.Обычный исполняемый файл обычно взаимодействует с рабочим столом, в то время как драйвер не может взаимодействовать с рабочим столом (не имеет пользовательского интерфейса).Обычный исполняемый файл взаимодействует с Windows API, в то время как драйвер не может взаимодействовать с Windows API.

...