IRP_MJ_CREATE в фильтр файловой системы
От: Thorik  
Дата: 23.08.04 08:34
Оценка:
Добрый день,
я пытаюсь написать драйвер фильтр файловой системы для фильтрации IRP_MJ_CREATE запросов. За основу взял sfilter example из IFS Kit. Сейчас на этапе теста я просто отсылаю имя файла полученое в обработчике IRP_MJ_CREATE юзер процессу. Я заметил что не при всех открытиях файлов мне приходит IRP_MJ_CREATE для открываемового/копируемого файла. Все фаст функции зарегестрированы и все возвращают FALSE. Функция получения имени скопирована из ФайлСпая (ИФС Кит сампл).
Но есть небольшое но.... после запуска и во время работы Файл Монитора с сис интерналс мне начинают приходить IRP_MJ_CREATE и всё работает чётко. Насколько я понял ФайлМон эту лазейку(через которую без IRP_MJ_CREATE открываются файлы) прикрывает. Если кто встречался с подобными проблемами или знает где я что не так сделал, пожалуйста подскажите как заставить систему присылать мне IRP_MJ_CREATE.
Re: IRP_MJ_CREATE в фильтр файловой системы
От: Valerio Россия linkedin.com/in/boronin
Дата: 25.08.04 04:34
Оценка:
Здравствуйте, Thorik, Вы писали:

T>Добрый день,

T>я пытаюсь написать драйвер фильтр файловой системы для фильтрации IRP_MJ_CREATE запросов. За основу взял sfilter example из IFS Kit. Сейчас на этапе теста я просто отсылаю имя файла полученое в обработчике IRP_MJ_CREATE юзер процессу. Я заметил что не при всех открытиях файлов мне приходит IRP_MJ_CREATE для открываемового/копируемого файла. Все фаст функции зарегестрированы и все возвращают FALSE. Функция получения имени скопирована из ФайлСпая (ИФС Кит сампл).

немного из теории оформления bugreports:

не указано
— для какой OS сборка
— на какой OS проблемы
— версию IFS Kit из которого выдернут sfilter — разные версии с разными проблемами
— шаги для воспроизведения: а именно какие файлы вызывают проблему?
— ловит ли оригинальный sfilter \не тронутый Вами никак\ имена как надо?
— версия filemon! Тот, который с открытыми исходниками 4.34 — тоже с проблемой?
Или Вы проверяли последним 6.0х с их сайта — который уже сам по-правильному сделан наконец?

так абстрактно сказать что-то сложно — ведь нельзя исключать и элементарно какую-то проблему в Вашем коде, вроде неправильной работы с кэшем имен

лучше взять sfilter из последних IFS Kit — XP SP1 or 2003

T>Но есть небольшое но.... после запуска и во время работы Файл Монитора с сис интерналс мне начинают приходить IRP_MJ_CREATE и всё работает чётко. Насколько я понял ФайлМон эту лазейку(через которую без IRP_MJ_CREATE открываются файлы) прикрывает. Если кто встречался с подобными проблемами или знает где я что не так сделал, пожалуйста подскажите как заставить систему присылать мне IRP_MJ_CREATE.

во-первых, часть file objects может быть создана в обход IRP_MJ_CREATE: например, это Ntfs stream objects.
К этому реально нужно быть готовым и об этом писали как на OSR так и я здесь пару раз.
... << RSDN@Home 1.1.4 @@subversion >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: IRP_MJ_CREATE в фильтр файловой системы
От: Thorik  
Дата: 25.08.04 07:45
Оценка:
- Виндовс ХР
— на ней же проблемы
— пример из Windows® Server 2003 IFS Kit
— тестовая версия должна блокировать все .тхт файлы,
закономерностей не наблюдается — четыре раза может выдать доступ запрещён,
а на пятый нормально открытся. При открытии файла приходят 2 IRP_MJ_CREATE — один от файлового менеджера, потом квери инфо и клосе, второй от нотепада. Проблема в том что от нотепада приходит не всегда. Аналогично при копировании, удалении и переименовании.
— чистый сфильтр тоже ловит не всегда.
— файлмон последний версии, при его включении начинает стабильно приходить второй IRP_MJ_CREATE от нотепада.


так абстрактно сказать что-то сложно — ведь нельзя исключать и элементарно какую-то проблему в Вашем коде, вроде неправильной работы с кэшем имен


кэшем имен Функцию возвращения имени передрал из ФайлСпай практически ничего не менял.

во-первых, часть file objects может быть создана в обход IRP_MJ_CREATE: например, это Ntfs stream objects.
К этому реально нужно быть готовым и об этом писали как на OSR так и я здесь пару раз.


Про стримы читал в хелпе к ИФС, а они никаких спецефических реквестов не отсылают?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.