Драйвер фильтра Windows и диспетчер фильтров - PullRequest
0 голосов
/ 13 декабря 2018

Я новичок в драйверах фильтров Windows.Из примера кода (MSDN) видно, что у драйвера фильтра файловой системы есть связанный с ним диспетчер фильтров, а с драйвером фильтра процесса не связан диспетчер фильтров.Так почему же эта разница?Так что нужны некоторые предложения и помощь.

1 Ответ

0 голосов
/ 16 декабря 2018

Возможно, вы захотите прочитать Windows Internals Алекса Ионеску, это прояснит вам ситуацию, начиная снизу, и поможет вам понять все это.

По сути, в прошломДрайверы фильтра файловой системы были сконструированы таким образом, чтобы он находился в правильном положении в точном файловом устройстве DEVICE STACK, например, NTFS.Таким образом, у вас будет возможность фильтровать IRP.

В настоящее время, что вы упомянули, диспетчер фильтров (FLTMGR) имеет свой собственный (устаревший) драйвер вверху и внизу стека устройств, иона позволяет зарегистрировать функцию обратного вызова, которая будет вызывать IRP каждый раз, и у вас будет возможность с ней справиться.

Фильтрация процессов (создание / удаление) немного отличается, она не обрабатывается с помощью IRP, в основномв потоке вызовов NtCreateUserProcess на стороне ядра есть функция, отвечающая за вызов любой функции, зарегистрированной для такого типа обратного вызова.

Я надеюсь, что она прояснит для вас вещи.

...