Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

FileMon&RegMon-Clones [D6, D7, Win95/98, Win2k, WinXP]


NetDigger ©   (2004-11-18 08:29:00) 

И вновь здравствуйте, уважаемые!

Задачка такова: нужно как-то отследить изменения, которые процессы (приложения, система и т.д.) внесли в реестр, файловую систему - точнее вот приложение обратилось к реестру - раз - сообщение об этом появилось, внесло изменения - еще раз сообщение.Аналогично с файловой системой. С реестром возможно еще понятно - если поставить событие на каждый из 6 разделов и отслеживать изменения в них (увидит ли он изменения в подветке?). Кстати - как бы это покорректнее сделать... Тем более если нужно выводить еще и где были изменения сделаны (со временем - разобраться можно). А вот с файловой системой проблематичнее... Нужно где внеслись изменения, кто вносил, как закончилось и т.д. Если кто видел программы с www.sysinternals.net - RegMon и FileMon -вот нужен аналог.

Кроме того нужно бы вести лог какие приложения когда начались, когда завершились, сколько работали /работают. Неужели придется всегда снэпшот делать и сравнивать - некрасиво как-то...

Не хочется просто изобретать велосипед, если данные вопросы уже решены. Вдруг кто сталкивался с подобным или читал где-нибудь. А то мысли какие-то слишком громоздкие, изящности в решении нет =)

Спасибо, уважаемые


Ihor Osov'yak   (2004-11-18 11:36:00) [1]

> Если кто видел программы с www.sysinternals.net - RegMon и FileMon -вот нужен аналог.

Не совсем понятна суть прызыва.. Если есть RegMon и FileMon - берите и пользуйтесь. Для личного использования они как бы фри. Для комерческого - ксловия, кажется, оговорены.
Или это предложение сделать соотв. разработку? Тогда почему здесь, а не на рентакодер,  к примеру?

> Кстати - как бы это покорректнее сделать...
Так же, как и в sysinternals - постановкой драйвера-фильтра (это о filemon, вопроса regmon не прорабатывал).

> или читал где-нибудь.
DDK, IFS  см. драйвер-фильтр.  На компакт-диске к книге Соломона и Руссиновича есть исходники старой версии filemon. Также можно поискать Rajeev Nagar - Windows NT File System Internals - там глава 12 собственно рассмотрению особенностям реализации драйвера-фильтра файловой системы посвящена. К книге также прилагается диск с соотв. примером реализации.  
Ну, и естественно первоисточник - IFS DDK - там также есть пример реализации драйвера-фильтра файловой системы.


NAlexey   (2004-11-18 10:33:00) [2]

>Игорь Шевченко ©   (18.11.04 10:17) [8]
Хм... Возможно. Не могу опровергнуть.


Игорь Шевченко   (2004-11-18 10:17:00) [3]

NAlexey ©   (18.11.04 10:11) [7]

Как минимум, потому что не во все процессы можно внедриться.


NAlexey   (2004-11-18 10:11:00) [4]

>Игорь Шевченко ©   (18.11.04 10:09) [6]
А почему не получится?


Игорь Шевченко   (2004-11-18 10:09:00) [5]


> Я бы сделал ч.з DLL с перехватом соответствующих API.


Не получится.


NAlexey   (2004-11-18 10:02:00) [6]

Вот так вот значит...


BiN   (2004-11-18 09:47:00) [7]

NAlexey ©   (18.11.04 09:42) [3]

Думаю что да. Потому как идет один *.exe.


А ты в его ресурсы загляни, в секцию BINRES. Просто ради интереса.


NAlexey   (2004-11-18 09:42:00) [8]

>BiN ©   (18.11.04 09:36) [2]
Думаю что да. Потому как идет один *.exe.


BiN   (2004-11-18 09:36:00) [9]

NAlexey ©   (18.11.04 08:46) [1]
Дальше: в инете можно найти исходники RegMon и FileMon, скачивай и ковыряй. Правда только старые версии, те которые работают ч.з драйвера.


Ты думаешь, что новые версии без драйверов обходятся?


NAlexey   (2004-11-18 08:46:00) [10]

Во первых: так не пойдет - изменение->сообщение, если ты запускал RegMon или FileMon ты видел, что изменения в реестре и в файловой системе идут очень интенсивно. с учетом того, что тебе придется налаживать связь м.у своей DLL и приложением(если ты конечно выберешь такой подход) это может очень нагрузить систему. Это мое мнение, может кто выскажет свое.
Дальше: в инете можно найти исходники RegMon и FileMon, скачивай и ковыряй. Правда только старые версии, те которые работают ч.з драйвера.
Я бы сделал ч.з DLL с перехватом соответствующих API.


Наверх

Титульная страница Поиск, карта сайта Написать письмо