Как отследить удаление файла в Win'98?
От: Shurick ok Россия  
Дата: 28.05.03 18:22
Оценка:
Help, Please!!!

Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой,
а вместо этого оставить файл на месте и определить его имя?

Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет
однозначно был ли файл удален... она сработает и тогда, если файл был например не удален,
а создан, кроме того она не определяет имя файла...


Заранее благодарен.
Re: Как отследить удаление файла в Win'98?
От: TepMuHyc  
Дата: 28.05.03 19:27
Оценка:
Здравствуйте, Shurick ok, Вы писали:

Вариант #1:
Попробуй отобрать у юзера право на удаление файла

Вариант #3:
Или имей где-нибудь фоновую программу которая постоянно держит этот файл открытым для записи

Вариант #2:
Храни где-нибудь копию файла. При его удалении (об этом ты узнаешь при помощи FindFirstChangeNotification) восстанови этот файл из копии.
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
Re[2]: Как отследить удаление файла в Win'98?
От: Shurick ok Россия  
Дата: 29.05.03 04:42
Оценка:
Не совсем то имелось в всиду...

1. Заранее не известно, какой файл и где будет удален. Нужно отследить удаление ЛЮБОГО файла
на ЛЮБОМ жестком диске.

2. Необходимо узнать его имя.

3. И НЕ дать Windows удалить его самой,

4. а вместо этого удалить его так, чтобы он НЕ подлежал восстановлению.
(по 4-омй этапу вопросов нет)

По идее нужно перехватывать функцию DeleteFile, подставляя вместо нее свою. Но я не знаю как это делается.
Вот бы примерчик!

А может можно как-то и проще...?
Re[3]: Как отследить удаление файла в Win'98?
От: TepMuHyc  
Дата: 29.05.03 08:45
Оценка:
Здравствуйте, Shurick ok, Вы писали:

SO>Не совсем то имелось в всиду...


SO>1. Заранее не известно, какой файл и где будет удален. Нужно отследить удаление ЛЮБОГО файла

SO>на ЛЮБОМ жестком диске.

SO>2. Необходимо узнать его имя.


SO>3. И НЕ дать Windows удалить его самой,


SO>4. а вместо этого удалить его так, чтобы он НЕ подлежал восстановлению.

SO> (по 4-омй этапу вопросов нет)

SO>По идее нужно перехватывать функцию DeleteFile, подставляя вместо нее свою.

Одной функцией DeleteFile() ты не обойдешься — потому что это функция UserMode.
Тебе бы написать маленький драйверочек и положить его поверх основного драйвера файловой системы. Этот мелкий драйверочек мог бы перехватывать запросы на удаление удаление файлов и...

Вот только незадача: за API для написания драйверов файловых систем Мелкософт хочет немножко баксов. Совсем чуть-чуть — всего тысячу...
____________________
God obviously didn't debug, hasn't done any maintenance, and no documentation can be found. Truly amateur work.
Re: Как отследить удаление файла в Win'98?
От: free stranger Россия  
Дата: 29.05.03 08:59
Оценка:
Здравствуйте, Shurick ok, Вы писали:

SO>Help, Please!!!


SO>Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой,

SO>а вместо этого оставить файл на месте и определить его имя?

SO>Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет

SO>однозначно был ли файл удален... она сработает и тогда, если файл был например не удален,
SO>а создан, кроме того она не определяет имя файла...
SO>

SO>Заранее благодарен.


DDK + NuMega Driver Studio = FileSystem Filter Driver (адназначна)

Ловишь обращения к файлам и код обращения... все кроме удаления пропускаешь, удаление убиваешь... Но не забывай, что Винда в процессе работы создает кучу временных файлов которые живут вплоть до нескольких милисекунд. Это относится и к MemoryFiles. Отсель вывод... будь ОЧЕНЬ осторожен и обговори все условия отбора файлов на запрет удаления, иначе не заметишь как кончится free space как на диске так и в ramю
The darkness around me
Shores of solar sea
Oh how i wish to go down with the sun....
Re[2]: Как отследить удаление файла в Win'98?
От: Аноним  
Дата: 25.05.04 07:32
Оценка:
Здравствуйте, free stranger, Вы писали:

FS>Здравствуйте, Shurick ok, Вы писали:


SO>>Help, Please!!!


SO>>Как выполнить сабж, а отследив уго, НЕ ДАТЬ Windows удалить его самой,

SO>>а вместо этого оставить файл на месте и определить его имя?

SO>>Apiшная Функция FindFirstChangeNotification при этом врядли уместна, т.к. она не определяет

SO>>однозначно был ли файл удален... она сработает и тогда, если файл был например не удален,
SO>>а создан, кроме того она не определяет имя файла...
SO>>

SO>>Заранее благодарен.


FS>DDK + NuMega Driver Studio = FileSystem Filter Driver (адназначна)


FS>Ловишь обращения к файлам и код обращения... все кроме удаления пропускаешь, удаление убиваешь... Но не забывай, что Винда в процессе работы создает кучу временных файлов которые живут вплоть до нескольких милисекунд. Это относится и к MemoryFiles. Отсель вывод... будь ОЧЕНЬ осторожен и обговори все условия отбора файлов на запрет удаления, иначе не заметишь как кончится free space как на диске так и в ramю



ПЛЗ, скиньте ссылку, или вкратце опишите, как пользовать NuMega Driver Studio для написания именно FileSystem Filter Driver а не обычных драйверов для железа
Re: Как отследить удаление файла в Win'98?
От: Lonely Dog Россия  
Дата: 25.05.04 07:46
Оценка: +2
Здравствуйте, Shurick ok, Вы писали:

Мне кажется, что все, что тут писалось ранее имеет отношение скорее к Win2000 и пр.
Судя по теме ветки, вам это нужно для Win98, тогда смотрим в сторону filemon, там показано, как писать VxD перехватывающий все файловые операции. Из него все должно быть понятно.
Если будут вопросы, задавайте.
Re[2]: Как отследить удаление файла в Win'98?
От: Аноним  
Дата: 25.05.04 07:52
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Здравствуйте, Shurick ok, Вы писали:


LD>Мне кажется, что все, что тут писалось ранее имеет отношение скорее к Win2000 и пр.

LD>Судя по теме ветки, вам это нужно для Win98, тогда смотрим в сторону filemon, там показано, как писать VxD перехватывающий все файловые операции. Из него все должно быть понятно.
LD>Если будут вопросы, задавайте.

1 интересует и для 98 и для NT 4,5
2 где взять этот filemon — на sysinternals.com сырцов нет
3 если filemon только для 98, на что смотреть для NT?

спасибо!
Re[3]: Как отследить удаление файла в Win'98?
От: Lonely Dog Россия  
Дата: 25.05.04 07:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>2 где взять этот filemon — на sysinternals.com сырцов нет

Могу кинуть на мыло.

А>3 если filemon только для 98, на что смотреть для NT?

Для NT надо смотреть на IFS Kit. Про него здесь уже писали.
Да, крайне не рекомендую за основу драйвера в w2000 брать filemon.
Я запарился его вычищать от того функционала, который мне не нужен.
В результате, взял за основу пример из IFS Kit, причесал его и все стало круто.
Re[4]: Как отследить удаление файла в Win'98?
От: Аноним  
Дата: 25.05.04 08:03
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Здравствуйте, Аноним, Вы писали:


А>>2 где взять этот filemon — на sysinternals.com сырцов нет

LD>Могу кинуть на мыло.

А>>3 если filemon только для 98, на что смотреть для NT?

LD>Для NT надо смотреть на IFS Kit. Про него здесь уже писали.
LD>Да, крайне не рекомендую за основу драйвера в w2000 брать filemon.
LD>Я запарился его вычищать от того функционала, который мне не нужен.
LD>В результате, взял за основу пример из IFS Kit, причесал его и все стало круто.

мыло — westley@rambler.ru
аська — 299100894
ловлю сырцы filemon и еще хотелось бы IFS Kit — у мелкософта запарился искать...
Re[4]: Как отследить удаление файла в Win'98?
От: noesis  
Дата: 25.05.04 12:22
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Могу кинуть на мыло.

А мне не кинете на мыло до кучи? noesis@inbox.ru
и IFS если есть?
... << RSDN@Home 1.1.3 stable >>
icq 323-145-728
Re[5]: Как отследить удаление файла в Win'98?
От: Lonely Dog Россия  
Дата: 25.05.04 13:29
Оценка: 1 (1)
Здравствуйте, noesis, Вы писали:

N>Здравствуйте, Lonely Dog, Вы писали:


LD>>Могу кинуть на мыло.

N>А мне не кинете на мыло до кучи? noesis@inbox.ru
N>и IFS если есть?

Всем желающим кинул.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.