Монитор реестра (Registry Monitor)Источник: Windowsfaq
Свободно распространяемая на www.sysinternals.com утилита Registry Monitor предоставляет возможность собрать информацию об обращениях к реестру Windows. Утилита RegMon записывает в log-файл абсолютно все обращения к реестру, включая обращения самой системы и всего программного обеспечения, которое работает на момент сбора данных. Программа имеет настраиваемый фильтр, при помощи которого можно собрать информацию об обращениях к реестру только одной или нескольких программ, либо исключить из наблюдения определенные программы. Интерфейс утилиты RegMon достаточно прост и будет подробно рассмотрен в этой статье. Будут даны рекомендации по способам фильтрации собранной информации, по решению конкретных вопросов, связанных с определением конкретных разделов реестра, к которым обращается программа. Интерфейс RegMonВнешний вид Registry Monitor показан на рисунке 1.
Интерфейс Registry Monitor
Пример работы с RegMonRegMon может быть применен для решения практически любых задач, когда есть интерес узнать, куда, к каким ключам реестра программа обращается в ходе своей работы. Иногда требуется выяснить, где хранятся настройки программы, какие ключи используются в ходе ее работы. Это бывает полезно для решения проблем при настройке безопасности, при настройке экспорта ключей реестра для создания резервных копий настройки программного обеспечения, для внесения изменений в настройки программы, которые не документированы производителем, и доступ к которым есть только через реестр и т.д. Для примера я решил выяснить, где Outlook Express хранит правила для сортировки сообщений. Это позволит настроить автоматический экспорт нужной ветки реестра и всегда иметь архивную копию правил сортировки. Наличие такой копии позволит восстановить правила сортировки за пару минут, что при большом количестве правил сэкономит очень много времени. Итак, запустим RegMon. Настраивать пока фильтр не будем. Включим опцию Always On Top , чтобы окно RegMon не "убегало" на задний план. При запущенном RegMon-е откроем Outlook Express. Сразу после окончания его загрузки нажмем кнопку Capture или выберем пункт меню File - Capture Events , чтобы остановить сбор данных. Пример окна Registry Monitor после запуска Outlook Express с остановленным процессом сбора информации показан ниже.
Предварительный сбор В данном случае интересны обращения к реестру только процесса msimn.exe, поэтому щелкнем на нем правой кнопкой и выберем Include Process , либо выберем в меню Edit - Include Process . На запрос о том, хотим ли мы применить этот фильтр к уже собранным данным можно ответить и положительно и отрицательно, это не имеет значения. Теперь нужно очистить окно Registry Monitor. Для этого выберите Edit - Clear Display . Последний штрих в подготовке сбора данных - донастройка фильтра. Для этого выберем Options - Filter/Highlight . В настройке фильтра, внизу, снимем все галки за исключением Log Writes и Log Successes , настроив, таким образом, отсеивание всех обращений к реестру за исключением успешной записи в реестр значений процессом msimn.exe. Пример настройки фильтра показан ниже.
Настройка фильтра После того, как фильтр настроен, нужно создать в Outlook Express правило для почты. Чтобы создать правило в Outlook Express выберите Сервис - Правила для сообщений - Почта . В открывшемся окне создайте правило. Пример уже созданного правила показан на следующем рисунке.
Правило в Outlook Express После того, как правило настроено, нажмите OK в этом окне. Вы вернетесь в окно, показанное ниже.
Правила в Outlook Express Теперь проверьте, что в Registry Monitor включен сбор данных и окно очищено от собранных ранее данных. После нажатия в окне, показанном на рисунке 4, кнопки OK Outlook Express запишет в реестр созданное правило. Нажмите OK . Registry Monitor соберет данные об успешной записи в реестр процессом msimn.exe информации. Окно RegMon-а с собранной информацией показано на следующем рисунке.
Информация собрана Таким образом, мы получили информацию о разделе, в котором Outlook Express хранит настройки правил. Сохранение одного правила потребовало записи 23 значений. Теперь нужно найти самый верхний раздел реестра из тех, имена которых сейчас находятся в столбце Path Registry Monitor. Подведите курсор поочереди к каждому значению в столбце Path и во всплывающей подсказке будет выведен путь к разделу реестра. Найдите самую короткую запись. В данном случае это HKEY_CURRENT_USER\Identities\{D7691494-4CF1-4D7F-9A0F-A700B85345C2}\Software\Microsoft\Outlook Express\5.0\Rules\Mail\000 . Щелкните в окне Registry Monitor по записи с самым коротким путем два раза левой кнопкой мыши. Откроется редактор реестра, в котором автоматически будет развернуто дерево разделов до раздела, по которому был выполнен двойной щелчок. Окно реестра показано на следующем рисунке.
Раздел реестра Таким образом, мы выяснили где Outlook Express хранит настройки правил. Теперь при написании скрипта для ежедневного бэкапа можно будет включить в него строку, которая выполнит экспорт правил Outlook Express в reg-файл, который затем будет помещен в резервную копию на сервер или на другой носитель. Рассмотренный пример не самый сложный, он призван показать методику работы с Registry Monitor, поняв которую найти все ключи программы в реестре становится не такой уж и сложной задачей. |