> готовый фильтр файловой системы. Я его использовал в > похожих задачах - перехват обращений к сетевым дискам. Если > будут конкретные вопросы - спрашивай.
Вопросы есть)))
Нарыл исходники к Filemon 4.34 и никак не могу понять, какие параметры нужно передавать из пользовательского приложения драйверу при вызове DeviceIOControl() на установку пустого фильтра (для IOCTL_FILEMON_SETFILTER). В частности, что впихнуть в FilterDefinition?
Пытаюсь написать что-то похожее на антивирусный монитор. Посоветовали для этой цели написать драйвер фильтр файловой системы.
По идее софтина должна состоять из двух частей: собственной драйвера и пользовательской части (приложение в ринг3). В связи с этим вопрос:
Как обработать открываемый файл в пользовательском приложении? (или как добавить фильтр на сообщения обрабатываемые моим драйвером, допустим по имени процесса открывающего файл?).
Зы на данном этапе уродую исходники Руссиновича для FileMon 4.34.
Правильно посоветовали.19.12.06 14:22 Автор: amirul <Serge> Статус: The Elderman
> Пытаюсь написать что-то похожее на антивирусный монитор. > Посоветовали для этой цели написать драйвер фильтр файловой > системы.
Правильно посоветовали.
> По идее софтина должна состоять из двух частей: собственной > драйвера и пользовательской части (приложение в ринг3). В > связи с этим вопрос:
Правильный подход, на мой взгляд, использование ring3 только для взаимодействия с пользователем и применение конфигурации к драйверу. Все решения драйвер должен принимать сам на основе имеющейся конфигурации.
> Как обработать открываемый файл в пользовательском > приложении? (или как добавить фильтр на сообщения
Казнить нельзя помиловать. "Как обработать файл, открываемый в пользовательском приложении" или "как в пользовательском приложении обработать открываемый файл".
> обрабатываемые моим драйвером, допустим по имени процесса > открывающего файл?).
Получить имя процесса, сравнить с заданными фильтрами, в зависимости от результата вернуть ошибку либо переправить IRP ниже.
> Зы на данном этапе уродую исходники Руссиновича для FileMon > 4.34. Лушче DDK-шные
Если пишешь под дотнет, то используй класс...16.12.06 16:38 Автор: MadBinom Статус: Незарегистрированный пользователь
Если пишешь под дотнет, то используй класс FileSystemWatcher. Если Api - STFW(например как-то давно я ковырял исходники(с++) проги осуществляющей шифрование/lдешифрование файлов в папке при обращении к ним). А вообще, имхо, труднее написать сам антивирус, чем работа с файлами. Если ты напишешь антивирус осуществляющий только поиск по каким-то признаком - ты обречен на провал - женя касперский(и подобные) имеет больше ресурсов, чем ты. Поэтому надо работать в направлении эвристических алгоритмов - это вряд ли кто-то нормально сделал - задача нетривиальная. Вот тут и борись.
На Сорцфордже лежит Файлмон -18.12.06 09:47 Автор: Zef <Alloo Zef> Статус: Elderman
> готовый фильтр файловой системы. Я его использовал в > похожих задачах - перехват обращений к сетевым дискам. Если > будут конкретные вопросы - спрашивай.
Вопросы есть)))
Нарыл исходники к Filemon 4.34 и никак не могу понять, какие параметры нужно передавать из пользовательского приложения драйверу при вызове DeviceIOControl() на установку пустого фильтра (для IOCTL_FILEMON_SETFILTER). В частности, что впихнуть в FilterDefinition?
В DDK лежат sfilter/filespy - тоже готовые фильтры19.12.06 14:16 Автор: amirul <Serge> Статус: The Elderman
И как раз в качестве основы они лучше. Просто потому, что хотя бы вырезать лишнее не придется.
> готовый фильтр файловой системы. Я его использовал в > похожих задачах - перехват обращений к сетевым дискам. Если > будут конкретные вопросы - спрашивай.