· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.NETWORKS —› Firewall filter hook driver feedback.

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


Дата: Окт 25, 2004 20:20:27

Как организовать обратную связь из filter-hook sys драйвера обратно в windows приложение?
Например пришел(ушел) инет пакет как из функции PF_FORWARD_ACTION filterFunc(...) сразуже сообшить в user-mode приложение - (в смысле interprocess comunication PostMessage() или тому подобное)?


Дата: Окт 26, 2004 11:39:47


Дата: Окт 26, 2004 22:26:02 · Поправил: bigglass

ну или возможно посмотреть как это сделано
у
http://wipfw.sourceforge.net/


Дата: Окт 27, 2004 09:20:07

Как можно сделать чтоб из драйвера перед вызовом KeSetEvent() передать информацию в user-mode приложение (в какое-нибуть место в памяти и т.д.) чтобы в user-mode треде после завершения WaitForSigleObject() не использовать обращение к драйверу deviceiocontrol(...) на передачу нужной информации а взять и прочитать ее из 'заданного' места памяти куда ее драйвер запишет?
(для ускорения обмена с драйвером)
Thread()
while(true){
WaitForSingleObject();
"read some memory location"
...
}


Дата: Окт 27, 2004 15:05:43


Дата: Окт 29, 2004 19:17:27

Можно ли по примеру выделения памяти для чтения из user-mode "Драйверы режима ядра: Часть 9" использовать "ввод-вывод без управления" (Часть 5: Полнофункциональный драйвер) т.е. user-mode выделяет у себя память и посылает DeviceIoControl(тип,"ввод-вывод без управления") а kernel-mode driver используя in(out) параметры блокирует их в памяти и т.д. чтобы адрес был постоянным для user-mode.


ввод-вывод без управления
Диспетчер ввода-вывода помещает в поле DeviceIoControl.Type3InputBuffer структуры IO_STACK_LOCATION указатель на пользовательский входной буфер, а в поле UserBuffer структуры _IRP указатель на пользовательский выходной буфер и оставляет драйверу возможность управлять ими самостоятельно. Т.о. вся ответственность за управление пользовательскими буферами ложится на драйвер. Он может блокировать их в памяти, отображать на системное адресное пространство или обращаться к ним напрямую и т.д.


Дата: Окт 30, 2004 15:55:36

Да.

IoAllocateMdl
__try {
MmProbeAndLockPages
}

Если надо отобразить в ядро, то + ещё MmGetSystemAddressForMdlSafe


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