Можно ли логировать rename/delete в драйвере
От: __Vol  
Дата: 03.07.06 07:48
Оценка:
Добрый день.
Драйвер виртуального диска. Хочу залогировать из него файловые операции.
Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит?
Re: Можно ли логировать rename/delete в драйвере
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 03.07.06 13:34
Оценка:
Здравствуйте, __Vol, Вы писали:

__V>Драйвер виртуального диска. Хочу залогировать из него файловые операции.

не находите противоречия? в драйвере диска Вы хотите работать с сущностями которых там и не было в помине — файлами

__V>Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит?

не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.
... << RSDN@Home 1.2.0 alpha rev. 648>>
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]: Можно ли логировать rename/delete в драйвере
От: __Vol  
Дата: 03.07.06 13:52
Оценка:
Здравствуйте, Valery A. Boronin, Вы писали:

VAB>Здравствуйте, __Vol, Вы писали:


__V>>Драйвер виртуального диска. Хочу залогировать из него файловые операции.

VAB>не находите противоречия? в драйвере диска Вы хотите работать с сущностями которых там и не было в помине — файлами

__V>>Через Irp->Tail.Overlay.OriginalFileObject для чтения и записи получаю имя файла с которым выполняется операция. А можно ли в принципе где-либо получить имя файла при операциях Delete, Rename? Или это только через отдельный File System Filter Driver, а до драйвера виртуального диска эта информация не доходит?

VAB>не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.

Спасибо, понял. Я так и считал, но меня смутило то, что все-таки при чтении/записи можно достучаться до имени файла.
Re[3]: Можно ли логировать rename/delete в драйвере
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 03.07.06 15:31
Оценка:
VAB>>не доходит конечно. Диск работает с секторами, а файлы — сущности файловой системы поверх него, про которую диску знать не нужно совсем.

__V>Спасибо, понял. Я так и считал, но меня смутило то, что все-таки при чтении/записи можно достучаться до имени файла.

я бы назвал это некоторым удачным раскладом. но никогда бы не подумал на такой факт завязываться до тех пор, пока не увидел в MSDN/DDK официального текста, гарантирующего что в Irp->Tail.Overlay.OriginalFileObject действительно то что Вы говорите.

кстати для меня это сюрприз — ажно после такого сообщения перелопатил весь <DDK/IFS>\src — НИ ОДНОГО использования OriginalFileObject не только в src\storage и src\filesys, но и вообще в src! Одно это уже бы навело на мысли о некоем "удачном раскладе"
... << RSDN@Home 1.2.0 alpha rev. 648>>
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.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.