Regmon - отслеживание обращений к реестру.


Общие сведения о программе Regmon .




    Regmon - программа от компании Sysinternals для наблюдения в реальном масштабе времени за выполнением обращений к системному реестру Windows. Авторы - Марк Руссинович (Mark Russinovich) и Брюс Когсуэлл (Bryce Cogswell)

После приобретения Sysinternals компанией Майкрософт, в разделе Microsoft TechNet появился подраздел Windows Sisinternals где можно найти описание и ссылки для скачивания большинства программных продуктов Sysinternals. Однако, Regmon, а также программа мониторинга обращений к файловой системе Windows Filemon были заменены одной программой Process Monitor, которая, при всех ее достоинствах, все же, менее удобна для выполнения именно мониторинга обращений к реестру . В среде операционных систем Windows 2000/XP многие пользователи по-прежнему предпочитают пользоваться утилитой Regmon. Если же, предполагается мониторинг обращений к реестру в среде операционных систем Windows Vista/Windows 7, то лучше перейти на страницу описания утилиты Process Monitor.

    По своим функциональным возможностям последние версии Regmon мало чем отличаются друг от друга, по крайней мере, внешне. Здесь я разместил ссылки для скачивания версий Regmon, которыми пользовался лично.

Скачать Regmon 7.04 , 266 кб.

Скачать Regmon 6.06 , 86 кб.

Возможность скачивания последней версии Regmon с официального сайта на сегодняшний день отсутствует, и вместо нее предлагается скачать Process Monitor.
Более старая версия Regmon 6.06 работает в Windows 2000/XP, и даже может быть запущена в 32-битных Windows Vista/Windows 7. Правда, на практике выяснилось, что в этих ОС утилита работает нестабильно и может привести к зависанию системы.
Версия 7.04 также прекрасно работает в среде Windows 2K/XP, но при попытке запуска в Windows Vista и старше - выдаст сообщение о том, что система не поддерживается и предложит воспользоваться утилитой Process Monitor.

Программа не требует инсталляции, однако должна выполняться под учетной записью с правами администратора. В архиве также присутствует файл документации на английском языке regmon.hlp .

    После запуска исполняемого файла regmon.exe, на экран выводится окно настроек фильтров перехвата обращений к реестру и после нажатия Ok программа начнет работу. О настройке фильтров Regmon подробно будет рассказано ниже.

Мониторинг обращений к реестру с помощью regmon


Интерфейс программы состоит из 3-х частей - строка меню (menu bar), панель инструментов (toolbar) и область вывода данных в виде таблицы, каждой строке которой соответствует запись об обращении к реестру. Для остановки процесса перехвата нужно щелкнуть мышкой по кнопке с лупой, так, чтобы ее изображение стало перечеркнутым красной линией. Повторный щелчок вернет режим перехвата.

Двойной щелчок на отдельной строке вызовет запуск редактора реестра с переходом на раздел или ключ, соответствующий данной записи. Порядок следования строк соответствует времени выполнения операций. Информация в окне вывода данных разделена на семь столбцов:

# - номер строки с начала сессии перехвата обращений к реестру .

Time - время обращения. Формат времени (часы или секундомер) можно задать с использованием меню Options- Clock Time . Для формата часов можно установить точность отображения времени с помощью - Options - Show Milliseconds
Process - имя и идентификатор процесса (PID), который вызвал обращение к реестру. Например - svchost.exe:792 - к реестру обращался процесс svchost.exe, идентификатор PID которого равен 792.

Request - тип запроса. Типы запросов отслеживаемые regmon:

OpenKey - Процесс открывает ключ для дальнейших операций над ним.
CloseKey - Процесс закрывает ключ. Для любых обращений к ключу реестра сначала всегда выполняется открытие ключа, а в конце работы с ним - закрытие
CreateKey - Процесс выполняет создание нового ключа реестра.
DeleteKey - Процесс выполняет удаление ключа реестра.
DeleteValueKey - Процесс выполняет удаление значение из ключа реестра.
EnumerateKey - С помощью этого запроса процесс определяет наличие и имена подключей данного ключа. Программа циклически выполняет запрос EnumerateKey до тех пор, пока не будут прочитаны все подключи.
EnumerateValue - С помощью этого запроса определяется значения ключа. Программа циклически выполняет запрос EnumerateValue до тех пор, пока не будут получены все значения ключа.
SetValue - Процесс создает новое значение ключа, или изменяет данные, которые содержат значение по указанному пути в реестре..
QueryKey - Процесс считывает информацию о ключе по указанному пути.
QueryValue - Процесс считывает данные ключа.
LoadKey - Процесс выполняет загрузку куста реестра (hiev).
UnloadKey - Процесс выполняет выгрузку куста реестра.

Path - путь к ключу реестра или обрабатываемому значеню ключа.

Result - Результат выполненного с реестром действия :

SUCCESS - выполнено успешно
NOTFOUND - Ключ или значение не найдено. Данный результат встречается довольно часто и как правило не является ошибкой. Обычно - это признак поиска процессом конкретных данных в реестре.
BUFOVRFLOW - Переполнение буфера. Программа запросила в реестре данные, которые должна получить в буфер определенного объема, но данные в буфер не помещаются. Во многих случаях, размер получаемых из реестра данных заранее неизвестен, поэтому многие приложения инициируют зарос к реестру с помощью функции, одно из значений которой установлено в 0, и если запрашиваемое значение существует, то функция возвращает требующийся размер буфера с признаком BUFOVRFLOW. Поэтому этот результат, как правило, говорит не об ошибке, а о попытке приложения определить размер буфера для хранения данных из реестра.
ACCDENIED - Доступ запрещен. Обычно связано с недостатком полномочий для обращения к реестру по указанному пути.
NOMORE - программе необходимо было получить список вложенных ключей для указанного пути и выполнялось их перечисление по одному. Когда ключей или значений не осталось, был сформирован результат NOMORE
Other - дополнительная информация.

Информация, детализирующая конкретный тип запроса и результат его выполнения. Это могут быть данные, полученные из значения ключа, права доступа, найденные подключи.

Access - желательные права доступа. Наиболее часто используется Access:0x20019 - максимально разрешенный доступ.
SubKeys - после успешного выполнения запроса QueryKeys указывается количество подключей для данного ключа.
"text" - текстовое значение. Обычно данные, хранящиеся в строковых значениях (данные типа STRING)
0xN - шестнадцатеричное значение. (Данные типа DWORD)
Name: - текстовое имя ключа.
XX XX XX XX - шестнадцатеричные числа для двоичных значений (данные типа BINARY)





Основное меню Regmon .



    Большинство пунктов основного меню утилиты Regmon продублированы в виде значков панели инструментов (Toolbar). Наиболее часто используемые действия можно выполнить с использованием комбинаций клавиш, которые указаны в названии пункта. Например - "Capture Events : CTRL+E". Нажатие CTRL+E изменит режим перехвата событий (включит, если он был выключен, или наоборот, выключит, если был включен)

Пункты основного меню File

Load - открыть из файла ранее сохраненный отчет и просмотреть его
Save - сохранить содержимое окна в файл отчета .
Save As - выбрать другое расположение и имя для файла отчета
Process Properties - свойства процесса, инициировавшего обращение к реестру. (исполняемый файл, путь, параметры командной строки и т.п.)
Exit - завершить работу Regmon
Capture Events - CTRL+E - включить/выключить перехват обращений к реестру.

Пункты основного меню Edit

Copy - скопировать в буфер обмена выделенные строки.

Delete - удалить выделенные строки.
Include Process - добавить выделенный процесс в группу отслеживаемых
Exclude Process - исключить выделенный процесс из группы отслеживаемых
Include Path - добавляет путь из выделенной строки в список отслеживаемых
Exclude Path - исключить путь из выделенной строки из списка отслеживаемых. Find - поиск по всему содержимому буфера перехваченных данных, строки с заданным текстом.

Regedit Jump
- быстрый переход в редактор реестра Windows Regedit, и открытие ключа , соответствующего указанному в колонке Path выбранной строки. Если путь недействителен, то переход будет выполнен лишь в той части пути, которая существует.
Clear Display - очистить список перехваченных данных. Удаляются все строки, записанные с момента начала перехвата.

Пункты основного меню Options

Font - выбор шрифта для окна
Highlight Colors - выбор цвета для фона и текста записей, выбранных в качестве подсвечиваемых (наиболее интересных для анализа). Можно задать цвет фона (BG) и текста (FG) выбрав нужный цветовой элемент и нажав кнопку Select под свои предпочтения.
Filter/Highlight - определение фильтров для записей, которые должны быть включены / исключены из перехваченных данных, и строк, выделяемых подсветкой. Более подробно о фильтрах - ниже по тексту.
History Depth - максимальное число перехватываемых событий. (0 - без ограничений).
Auto Scroll - включить/выключить автоматическую прокрутку содержимого окна, так чтобы всегда можно было видеть последнюю запись.
Clock Time - переключение формата времени (часы или секундомер)
Show Milliseconds - дополнительно в значении времени показывать миллисекунды.
Always On Top - окно программы всегда поверх всех остальных окон

Log Boot - отслеживать обращения к реестру в процессе загрузки Windows. После выбора этого пункта меню, программа выдаст сообщение, что Regmon сконфигурирован для записи обращений к реестру в файл журнала в процессе следующей перезагрузки ОС:

Regmon - мониторинг в процессе загрузки

    После перезагрузки, в корневом каталоге системы (C:\Windows) будет создан файл Regmon.log с данными мониторинга. Режим записи в журнал будет продолжаться до запуска Regmon.exe вошедшим в систему пользователем и выполняется только для одной перезагрузки. Regmon в режиме Log Boot инсталлируется в системе и, после перезагрузки, запускается в качестве драйвера, поэтому все обращения к реестру, произошедшие до его старта, не будут отслежены. Просмотр журнала мониторинга можно выполнить с использованием меню File - Open





Установка фильтров программы Regmon .




По умолчанию, утилита Regmon настроена на вывод информации об обращениях к реестру Windows, выполняемых всеми процессами и приложениями, но в программе предусмотрена возможность фильтровать выходные данные. Задать условия фильтрации можно сразу после старта утилиты или вызвав окно настройки фильтров ( Regmon Filters ) в любой момент времени c использованием меню программы или комбинации клавиш CTRL+L



Настройка фильтров для Regmon


Фильтры позволяют ограничить вывод данных Regmon исходя из имени процесса, пути в реестре, типа запроса и результатов его выполнения. Для настройки фильтров можно использовать три текстовых поля. Фильтры разделяются друг от друга символом "точка с запятой". Возможно использование символа * (звездочка) в качестве шаблона (wildcard).
Include - только процессы и пути реестра, перечисленные в этом поле, будут выводиться в списке выходных данных Regmon.
Exclude - процессы и пути реестра, перечисленные в этом поле, не будут выводиться в списке выходных данных Regmon.
В поле Highlight указываются фильтры по которым определяются выделяемые из выходного списка строки.
В нижней части окна настройки фильтров имеется несколько флажков ( checkboxes ) фильтрации элементов списка по типу выполняемых действий. Если снять все флажки, никакой информации выводиться не будет. Установка флажка определяет, какие операции будут выводиться в окне данных.
Log Opens - выводить данные об операциях, связанных с открытием или закрытием ключей.
Log Reads - выводить данные об операциях чтения из реестра ( QueryKey и QueryValue ).
Log Writes -выводить данные об операциях записи в реестр ( SetValue ).
Log Errors - выводить данные об операциях, завершившихся с ошибкой . Надо учитывать, что ошибки при обращении к реестру далеко не всегда говорят о какой-либо проблеме с реестром, а чаще всего вызваны логикой работы процесса, обращающегося к реестру.
Log Successes - выводить данные об операциях, выполненных успешно .

Программа запоминает историю вводимых фильтров. При старте используется последний заданный фильтр. Для сброса критериев фильтрации в исходное значение используется кнопка Defaults в окне Regmon Filters     На практике, для фильтрации выводимых данных, удобнее использовать меню, вызываемое правой кнопкой мышки на выбранной строке

Правая кнопка - фильтры для Regmon


Include Process и Include Path - добавить в поле Include процесс или путь, отображаемый в текущей строке.
Exclude Process и Exclude Path - исключить из выходных данных Regmon процесс или путь, отображаемый в текущей строке.



Практика применения утилиты Regmon .




    Для освоения работы с Regmon, проще всего начать с использования перехвата обращений к реестру той программы, логика работы которой вам известна. Например - редактор реестра Windows regedit.exe. Для фильтрации можно взять следующие значения:
Include - regedit
Exclude - оставляете пустым
Поле Highlihgts тоже можно оставить пустым. При необходимости, критерии подсвечивания и исключения можно всегда задать в ходе работы, когда начнется перехват обращений к реестру.
После начала отслеживания, попробуйте открыть раздел реестра и посмотреть как выглядит последовательность обращений и какие операции выполнялись в процессе выполнения данного действия. Что происходит при чтении или записи отдельных значений.

После приобретения начальных навыков работы с Regmon, попробуйте определить, например, где и в каком виде в реестре хранится информация о домашней странице обозревателя Internet Explorer (IE). В качестве дополнительной информации:

- желательно определить имя процесса для Include-фильтра, чтобы уменьшить объем ненужной информации.
- проще всего найти данную настройку в реестре Windows, если вручную изменить домашнюю страницу IE на известное вам значение.
- включать режим перехвата обращений к реестру лучше непосредственно перед выполнением изменения домашней страницы IE, чтобы уменьшить объем анализируемой информации, не относящейся к искомой проблеме.

Ну, и если возникнут затруднения, попробуйте задать в фильтре HighLights текст соответствующий выводимому значению домашней страницы в настройках обозревателя.


Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой "Поделиться"











В начало страницы     |     На главную страницу