Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
ВнизHook на открытие файла Найти похожие ветки
← →
Rams © (2005-01-27 15:50) [0]Нужно перехватывать все операции над файлами определенного расширения. Открытие, закрытие, сохрание. В дальнейшем планируется вести лог изменений в сохраняемых файлах.
Предполагается создать поток для сравнивания отредактированных файлов, создать некоторое подобие очереди, на это время заблокировав доступ к файлу, но это так - на будущее :)
Сейчас проблема - найти аналог пройстейшего filemon. Но на дельфи. и желательно попроще.
← →
kaZaNoVa © (2005-01-27 15:54) [1]имхо без драйвера не обойтись ...
хотя, если Api перехватывать ...
← →
Игорь Шевченко © (2005-01-27 17:31) [2]Если не секрет - в связи с чем такая задача ?
← →
Rams © (2005-01-27 17:59) [3]Не секрет. Есть сеть из 20 компов. На всех двадцати идет работа с общей базой файлов (*.txt). Нужно знать, когда и кто какой файл изменил. Мне главно принцип понять. А там уже можно наворачивать: мож кто что попортить захотел или т.п.
Мне кажется вещь актуальная, кому-нибудь обязательно пригодиться кроме меня. Только вот весь инет перерыл - статья Панова да еще немного. Только быть может filemon копать, да только не наc++льник я :(
← →
Игорь Шевченко © (2005-01-27 17:59) [4]А технология клиент-сервер никак не применима ?
← →
Rams © (2005-01-27 18:03) [5]Да дело в том что ладно что сеть. Хотя бы за одним компом уследить. Ведь человек может и в Far-e с файлом поработать и Ворде открыть. Тут самая первая задача - узнать что открывалось и понять что изменилось. И лог вести.
А про сеть - это я имел в виду как возможная перспектива.
← →
xShadow © (2005-01-27 18:13) [6]
> Rams © (27.01.05 18:03) [5]
А вот тут определится нужно если наблюдение за файлами на локальной машине можно и перехватом апи функций обойтись, а если в сети то это уже другое.
← →
cLayDEr © (2005-01-27 19:12) [7]Насколько я помню в виндах в Администрировании есть ведение логов , как на запускаемые экзешники , так и на редактирование файлов. Причем для сбора этих логов даже были какие-то проги , да и самому написать обработчик лога на машине с дальнейшем отсылом инфы на сервак не очень сложно , по-моему. Хотя конечно всякой лишней инфы там получается НАВАЛОМ. (чем смог)
← →
Kerk © (2005-01-27 19:38) [8]cLayDEr © (27.01.05 19:12) [7]
Все тупо (с)
← →
Rams © (2005-01-28 08:53) [9]Спасибо за советы :)
2 xShadow: главное - на локальной машине. Можно и перехват api функций, а может есть у кого нить ссылка на простейший пример?
← →
xShadow © (2005-01-28 09:58) [10]
> Rams © (28.01.05 08:53) [9]
В этом направлении простых решений не бывает!
www.sysinternals.com - filemon
http://www.iamaphex.cjb.net/ - много разных примеров
http://www.madshi.net - тоже есть примеры но исходный код библиотеки платный разбирайся.
Плюс ко всему поищи на формах подобная тема поднималась не один десяток раз.
← →
wal © (2005-01-28 10:02) [11]А просто NTFS+права+аудит не подойдет?
С уважением.
← →
Rams © (2005-01-29 10:51) [12]Ну я тут посмотрел, почитал. Вот что я понял, поправьте если что.
1 путь - Debug API, куча примеров. Тогда значит висеть и ждать потенциальной программы.
2 путь - Hook - только на что? как я понял хук ставиться только на сообщения WM_*
3 путь заменить нафиг kernel32.dll своей :)
wal> А просто NTFS+права+аудит не подойдет?
Нет, поскольку нужно оформить в виде программы, которую можно установить на любой комп (WinXP, WinMe, Win9X);
2xShadow. Спасибо за ссылки :) Только одно но: в Си - я не в зуб ногой :) Может разыскать самую первую версию filemon где будет все не так сложно :(
← →
kaZaNoVa © (2005-01-29 11:00) [13]Rams © (29.01.05 10:51) [12]
> 3 путь заменить нафиг kernel32.dll своей :)
100% невозможно в виндах выше 2000))
← →
Ihor Osov'yak © (2005-01-29 12:04) [14]> найти аналог пройстейшего filemon. Но на дельфи.
На делфи не будет. Так как "изюминка" filemon - драйвера (причем разные и для NT-ряда, и для w9x)... А делфи и драйвера - вещи несовместимые (хотя есть оригиналы, пытающиеся на практике доказать, что это не так)...
Гуишную оболочку, взаимодействующею с драйвером, на делфи можно написать без проблем.
Перехват апишных вызовов (здесь уже полностью можно решить задачу с помощью D) для общего случая в контексте поставленной задачи не всегда может гаратнировать решение или его приемлемость...
.. Но это прелюдия. А песнь будет такова - "не тем путем идете, товарищ Rams. И очень вероятно - не туда."
← →
Rams © (2005-01-29 18:14) [15]Изходя из всего....
Нужно взять драйвера файлмона и приписать к ним гуи дельфи?
← →
Ihor Osov'yak © (2005-01-29 18:58) [16]2 [15] Rams © (29.01.05 18:14)
>Нужно взять драйвера файлмона и приписать к ним гуи дельфи?
Может и так. Технически - задача довольно простая. Если проблем с лицензированием не будет.
Вообще-то к книге Русиновича/Cоломона идет диск с соотв. утилитами - там чего-то говорится на предмет использования покупателями книги содержимого диска в своих целях - возможно есть и легальные лазейки приспособить драйвера файлмонитора в своей разработке - посмотрите (я могу и ошибаться).
Да, еще - вспомнил.. На рентакодере сейчас похожая тема висит (там вообще-то не логирование, а блокирование доступа по некоторым условиям) - я там даже свои услуги как исполнитель предложил :-)
← →
xShadow © (2005-01-29 22:38) [17]Советую внимательней изучить вторую ссылку там есть примеры перехвата вин апи функций createprocess, findfirst и т.д. а на их основе без проблем можно слепить в первой приблежении то что тебе нужно.
← →
GrayFace © (2005-01-30 05:15) [18]Rams © (29.01.05 10:51) [12]
2 путь - Hook - только на что? как я понял хук ставиться только на сообщения WM_*
Нет. Хук ставится на сообщения, мышь, клаву и т.д. Но на файлы не ставится.
← →
Rams © (2005-01-30 06:01) [19]Спасибо. Посмотрю - почитаю. Когда будут результаты, сообщу. :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.033 c