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 подробно будет рассказано ниже. Интерфейс программы состоит из 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 .По умолчанию, утилита Regmon настроена на вывод информации об обращениях к реестру Windows, выполняемых всеми процессами и приложениями, но в программе предусмотрена возможность фильтровать выходные данные. Задать условия фильтрации можно сразу после старта утилиты или вызвав окно настройки фильтров ( Regmon Filters ) в любой момент времени c использованием меню программы или комбинации клавиш CTRL+L Фильтры позволяют ограничить вывод данных Regmon исходя из имени процесса, пути в реестре, типа запроса и результатов его выполнения. Для настройки фильтров можно использовать три текстовых поля. Фильтры разделяются друг от друга символом "точка с запятой". Возможно использование символа * (звездочка) в качестве шаблона (wildcard). Include - только процессы и пути реестра, перечисленные в этом поле, будут выводиться в списке выходных данных Regmon. Exclude - процессы и пути реестра, перечисленные в этом поле, не будут выводиться в списке выходных данных Regmon. В поле Highlight указываются фильтры по которым определяются выделяемые из выходного списка строки. В нижней части окна настройки фильтров имеется несколько флажков ( checkboxes ) фильтрации элементов списка по типу выполняемых действий. Если снять все флажки, никакой информации выводиться не будет. Установка флажка определяет, какие операции будут выводиться в окне данных. Log Opens - выводить данные об операциях, связанных с открытием или закрытием ключей. Log Reads - выводить данные об операциях чтения из реестра ( QueryKey и QueryValue ). Log Writes -выводить данные об операциях записи в реестр ( SetValue ). Log Errors - выводить данные об операциях, завершившихся с ошибкой . Надо учитывать, что ошибки при обращении к реестру далеко не всегда говорят о какой-либо проблеме с реестром, а чаще всего вызваны логикой работы процесса, обращающегося к реестру. Log Successes - выводить данные об операциях, выполненных успешно . Программа запоминает историю вводимых фильтров. При старте используется последний заданный фильтр. Для сброса критериев фильтрации в исходное значение используется кнопка Defaults в окне Regmon Filters На практике, для фильтрации выводимых данных, удобнее использовать меню, вызываемое правой кнопкой мышки на выбранной строке 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 текст соответствующий выводимому значению домашней страницы в настройках обозревателя. |
|