Здравствуйте, goshavt, Вы писали:
G>Нужно отследить попытку удалить файл. G>Для папок есть ICopyHook::CopyCallback, а что нибудь для файлов есть?
www.sysinternals.com filemon как источник идей. Если коротко — драйвер-фильтр файловой системы.
Можно еще пвтаться перехватывать соотв. апишные вызовы.
Здравствуйте, Ihor Osovyak, Вы писали:
IO>www.sysinternals.com filemon как источник идей. Если коротко — драйвер-фильтр файловой системы.
Я тоже так думаю, но вот как это сделать, подскажите, где можно почитать об создании и отладке драйверов,
и в частности о перехвате соообщений об удалении файлов.
У меня есть исходники PGP клиента, там это есть, но все так запутано, что черт ногу сломит.
IO>Можно еще пвтаться перехватывать соотв. апишные вызовы.
Это не подходит, потому как антивирусники на это реагируют однозначно, а мне бы не хотелось
напрягать пользователя, посколько прога ничего вредного не делает, всего лишь переписывает
файл нулями перед удалением. Да и работает это метод не всегда.
Это не подходит, так как уведомляет о произошедшем событии,
а надо уведомлять о попытке удаления, и выплненния операции перезаписи этого файла нулями, до удаления.
Здравствуйте, goshavt, Вы писали:
G>Это не подходит, так как уведомляет о произошедшем событии, G>а надо уведомлять о попытке удаления, и выплненния операции перезаписи этого файла нулями, до удаления.
только фильтр файловой системы даст что ищете — welcome to the asm forum
... << RSDN@Home 1.1.4 beta 3 rev. 193>>
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.
[skip]
PD>>FindFirstChangeNotification / ReadDirectoryChangesW
G>Это не подходит, так как уведомляет о произошедшем событии, G>а надо уведомлять о попытке удаления, и выплненния операции перезаписи этого файла нулями, до удаления.
Или фильтр как уже сказали — или ... перехват функций в ядре (смотри KeServiceDescriptorTable и KeServiceDescriptorTable) иногда этот варинат будет быстрее по времени разработки, но недостатки имеет очень большие так как эти таблици меняются от версии к версии и их содержимое тоже. Читайте — Свен Шрайбер.
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.