драйвер режима ядра, запись в файл - PullRequest
2 голосов
/ 12 мая 2009

Я работаю над драйвером фильтра Windows и мне нужно записать файл. Я попытался использовать zwcreate, zwwrite и zwclose, но драйвер не работает на PASSIVE_LEVEL, и я получил BSOD. Я никогда не писал драйвер для Windows раньше. Спасибо за помощь!

РЕДАКТИРОВАТЬ: Спасибо J. Passing!

Ответы [ 2 ]

3 голосов
/ 12 мая 2009

Планирование рабочих элементов (IoAllocateWorkItem / IoQueueWorkItem) и обработка всех файловых операций ввода-вывода из подпрограмм обратного вызова рабочего элемента.

Я не уверен, стоит ли в первую очередь разрешить драйверу ядра записывать в файл. Лучший способ сделать это IMHO - предоставить программу пользовательского пространства, которая взаимодействует с драйвером, получает данные и затем записывает их на диск.

Это верно для Unix, но не для Windows.

0 голосов
/ 16 июля 2009

Прекрасным примером использования Zw-Tools для записи файлов из драйвера устройства является Klog Clandestiny, найденный по адресу rootkit.com . В настоящее время это мне очень помогает.

И я согласен с Йоханнесом в том, что не рекомендуется выполнять классическую пользовательскую работу (доступ к файлу / net /...-) непосредственно из драйвера. Он не только подвержен ошибкам, но и может стать непредвиденным в будущем. Пользовательские интерфейсы обычно намного более устойчивы и устойчивы.

...