Перехват копирования, перемещения и переименования
От: mortalis  
Дата: 22.05.10 11:31
Оценка:
Добрый день. Пишу минифильтр-драйвер файловой системы. Возник вопрос, каким образом можно отловить копирование, перемещение и переименование. Остальные операции — это, насколько я понимаю, перехват IRP_MJ_CREATE. Подскажите пожалуйста
минифильтр файловая система перехват драйвер
Re: Перехват копирования, перемещения и переименования
От: ononim  
Дата: 22.05.10 11:45
Оценка: 2 (1)
M>Добрый день. Пишу минифильтр-драйвер файловой системы. Возник вопрос, каким образом можно отловить копирование, перемещение и переименование. Остальные операции — это, насколько я понимаю, перехват IRP_MJ_CREATE. Подскажите пожалуйста
Копирование это чтение одного файла и запись в другой
Остальное — IRP_MJ_SET_INFORMATION/FileRenameInformation
Кстати перемещение между разными томами реализуется как копирование + удаление оригинала.
Как много веселых ребят, и все делают велосипед...
Re[2]: Перехват копирования, перемещения и переименования
От: mortalis  
Дата: 22.05.10 12:18
Оценка:
Здравствуйте, ononim, Вы писали:

M>>Добрый день. Пишу минифильтр-драйвер файловой системы. Возник вопрос, каким образом можно отловить копирование, перемещение и переименование. Остальные операции — это, насколько я понимаю, перехват IRP_MJ_CREATE. Подскажите пожалуйста

O>Копирование это чтение одного файла и запись в другой
O>Остальное — IRP_MJ_SET_INFORMATION/FileRenameInformation
O>Кстати перемещение между разными томами реализуется как копирование + удаление оригинала.
Спасибо! Насчет переименования и перемещения в пределах одного тома понятно. Но что делать с копированием? Понятно, что это чтение и запись...
Re: Перехват копирования, перемещения и переименования
От: x64 Россия  
Дата: 22.05.10 12:19
Оценка: 2 (1)
M>...каким образом можно отловить копирование, перемещение...

Никак, таких операций в ядре не существует.

M>...переименование.


IRP_MJ_SET_INFORMATION с классом FileRenameInformation.

M>Остальные операции — это, насколько я понимаю, перехват IRP_MJ_CREATE.


Неверное утверждение.
Re[2]: Перехват копирования, перемещения и переименования
От: mortalis  
Дата: 22.05.10 12:26
Оценка:
Здравствуйте, x64, Вы писали:

M>>Остальные операции — это, насколько я понимаю, перехват IRP_MJ_CREATE.


x64>Неверное утверждение.


Открытие с флагами на запись, чтение, выполнение, удаление. Не так? А как тогда?
Re[3]: Перехват копирования, перемещения и переименования
От: x64 Россия  
Дата: 22.05.10 12:31
Оценка:
M>Не так? А как тогда?

Сие зависит от конечной цели.
Re[4]: Перехват копирования, перемещения и переименования
От: mortalis  
Дата: 22.05.10 12:36
Оценка:
Здравствуйте, x64, Вы писали:

x64>Сие зависит от конечной цели.

Необходимо реализовать контроль доступа юзера к файловым ресурсам: перехватить каждую операцию, отправить сервису, который в соответствии с заданными правилами, пришлет драйверу ответ "разрешено" или "запрещено"
Re[5]: Перехват копирования, перемещения и переименования
От: x64 Россия  
Дата: 22.05.10 12:41
Оценка:
M>Необходимо реализовать контроль доступа юзера к файловым ресурсам: перехватить каждую операцию, отправить сервису, который в соответствии с заданными правилами, пришлет драйверу ответ "разрешено" или "запрещено"

ok, если вопрос только в блокировке, то да, IRP_MJ_CREATE в большинстве случаев будет достаточно.
Re[5]: Перехват копирования, перемещения и переименования
От: ononim  
Дата: 22.05.10 12:43
Оценка:
M>Необходимо реализовать контроль доступа юзера к файловым ресурсам: перехватить каждую операцию, отправить сервису, который в соответствии с заданными правилами, пришлет драйверу ответ "разрешено" или "запрещено"
Такая операция как "копирование файлов" существует лишь в UI файловых и в умах project менеджеров.
А на уровне файловой системы файлы можно лишь создавать, читать, писать, переименовывать и удалять.
Как много веселых ребят, и все делают велосипед...
Re[6]: Перехват копирования, перемещения и переименования
От: mortalis  
Дата: 22.05.10 12:58
Оценка:
Всем спасибо!
Re: Перехват копирования, перемещения и переименования
От: megabotans  
Дата: 23.03.12 09:01
Оценка:
А не подскажите, как такую штуку реализовать человеку, владеющему только C#?
Может быть есть шаблон (исходный код на Си?) драйвера с комментариями — никто не поделится????
Операциока Windows 7.
Re[2]: Перехват копирования, перемещения и переименования
От: okman Беларусь https://searchinform.ru/
Дата: 23.03.12 10:01
Оценка:
Здравствуйте, megabotans, Вы писали:

M>А не подскажите, как такую штуку реализовать человеку, владеющему только C#?

M>Может быть есть шаблон (исходный код на Си?) драйвера с комментариями — никто не поделится????
M>Операциока Windows 7.

Примеры файловых фильтров есть в Windows Driver Kits (WDK).
Еще есть книга "Windows NT File System Internals".
А также ряд документов на MSDN, например, это и это.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.