Разработка Драйвера Minifilter

Однажды на работе передо мной встала задача по управлению доступом и перенаправлению запросов к файловой системе внутри определённых процессов.

Необходимо было реализовать простое, легко настраиваемое решение.

Я решил разработать драйвер MiniFilter, который настраивается с помощью текстового файла.

Давайте посмотрим, что такое MiniFilter в целом: Фильтрация осуществляется через так называемый Менеджер фильтров, который поставляется вместе с операционной системой Windows и активируется только при загрузке мини-фильтров.

Менеджер фильтров подключается напрямую к стеку файловой системы.

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

После регистрации и запуска мини-фильтр получает набор данных об операциях ввода-вывода, которые были указаны при настройке, и при необходимости может вносить изменения в эти данные, влияя таким образом на работу файловой системы.

На следующей диаграмме в упрощенной форме показано, как работает диспетчер фильтров.



Разработка драйвера MiniFilter

Более подробную теоретическую информацию вы можете получить на сайте MSDN по ссылке в конце статьи.

Все устроено довольно хорошо.

Мы будем двигаться в сторону развития и рассмотрим некоторые базовые структуры, которые необходимо заполнить.

Общие глобальные данные.

   

typedef struct _MINIFILTER {

Теги: #Системное программирование #минифильтр #драйвера #файловая система #Системное программирование
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.