Форум: "WinAPI";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизНотификационное сообщение - файл закрыт Найти похожие ветки
← →
MAXLMN © (2006-06-15 12:25) [0]Люди, подскажите, - как можно
отловить закрытие файла неким приложением.
Я имею ввиду не проверку, используется
ли файл в данный момент, а возможность
определить момент его зарытия
← →
Ihor Osov'yak © (2006-06-15 12:31) [1]можно, см. www.sysinternals.com filemon
драйвер-фильтр файловой системы.. Это по нормальному.. Но если допускается определенный элемент халявы - то перехват соотв. апи функций для соотв. приложения..
← →
MAXLMN © (2006-06-15 12:38) [2]Ты имеешь в виду FileMonitor?
Тогда не подойдёт.
Меня интересует программная реализация.
А насчёт API приложения -
оно заведомо неизвестно,так что не судьба
← →
Ihor Osov'yak © (2006-06-15 12:40) [3]блин, а что файмон не програмно реализован, а духом Господним? Или согласно идей Маркса-Ленина работает?
← →
MAXLMN © (2006-06-15 12:41) [4]Блин(тоже), я имею ввиду, что меня интересует Source Code
← →
MAXLMN © (2006-06-15 12:45) [5]Даже если у FileMonitor есть свой API, мне этот вариант
всё равно никак не подходит
← →
Сергей М. © (2006-06-15 12:52) [6]Вариант написания собственного драйвера режима ядра тебе, надо понимать. еще более не подходит ?
← →
Ihor Osov'yak © (2006-06-15 12:55) [7]MAXLMN, купи книгу Соломона Русиновича, на диске есть исходники файлмонитора.. Для покупателей книги - фри для исследовательских целей, для комерционного юзания - нужно попросить разрешения у авторов (нигде явно не написано, платное оно или бесплатное).. Но, кстати, как я понимаю - посмотреть на исходники и соорудить нечто подобное никто не запрещает..
← →
MAXLMN © (2006-06-15 13:00) [8]Ядро конечно не катит. А насчет книги - надо посмотреть.
Тока вот код сегодня сдавать. А вообще, неужели
в винде нет ничего типа FindFirstChangeNotification,
только для данной цели?
← →
Сергей М. © (2006-06-15 13:11) [9]
> MAXLMN © (15.06.06 13:00) [8]
> Ядро конечно не катит
А без него - никак.
В ресурсах FileMonitor"а имеется образ готового KMD, причем на любой вкус. Достаточно изучить интерфейс взаимодействия с ним - и компромисс, считай, найден.
← →
MAXLMN © (2006-06-15 13:16) [10]> Сергей М. ©
Для отслеживания всех прочих изменений,
связянных с неким файлом, достаточно WIN API функций,
И где здесь свои дрова?
Почему ты не допускаешь существования подобных
методов решения данной проблемы?
← →
Сергей М. © (2006-06-15 13:24) [11]
> Для отслеживания всех прочих изменений,
> связянных с неким файлом, достаточно WIN API функций
Заметь - с неким файлом. А не с его хендлами, коих м.б. великое множество.
> где здесь свои дрова?
Для получения нотификаций об изменениях в объектах файловой системы "дрова" действительно не требуются. Но ведь ты спрашиваешь не об этом !!
А раз не об этом , то см. [1] про "халяву".
← →
Ihor Osov'yak © (2006-06-15 13:26) [12]> Для отслеживания всех прочих изменений,
связянных с неким файлом, достаточно WIN API функций,
хотя бы потому, что этих апи уж очень много, уж очень много слоев (о существовании помимо win32 api так называемого native api слыхали, надеюсь?).. Также никто никому не запрещает напрямую вызвать Int 2E с соотв. параметрами - и лови ветра в поле.. Плюс помимо всего, не исключаю, что всякие сетевые запросы обрабатываются уже на уровне ring 0 (впрочем, если речь об одном приложении, конкретном - то можно о сетевых забыть)
> Почему ты не допускаешь существования подобных
методов решения данной проблемы?
Так как прарабатывалась в свое время похожая проблема, закончилось написанием подобия драйвера от файлмон...
← →
Ihor Osov'yak © (2006-06-15 13:30) [13]2 Сергей М. © (15.06.06 13:24) [11]
относительно "халявы" - много ньюансов, много апи нужно контролировать, ну а Int2e вообще неперехватываемое на уровне ring3 (а ведь не исключено, что хитрые системы могут юзать и его)..
Так что подитоживая - все таки правильный путь с драйвером фильтром в общем случае будет более халявный, в смысле - менее трулдозатратным.. Хотя в частном - не знаю, тут автору топика виднее..
← →
Сергей М. © (2006-06-15 13:36) [14]
> относительно "халявы" - много ньюансов
Да, разумеется.
Но на то она и халява, чтобы ради нее подсуетиться)
> Int2e вообще неперехватываемое на уровне ring3
Ой.
Врешь ведь)
Доступ к GDT/IDT всегда имеется.
← →
Ihor Osov'yak © (2006-06-15 13:37) [15]> Врешь ведь)
может, я особо над этим не задумывался.. Спасибо за подсказку..
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c