Примеры мониторинга системного реестра
Посетителей: 21280 | Просмотров: 28461 (сегодня 0)
Введение
Более половины всех пользователей ПК в какой-то момент задумываются об автоматизации настроек своей операционной системы. Всем известно, что в операционных системах Windows централизованным хранилищем для большинства настроек самой системы и установленных приложений является системный реестр. В реестре хранятся сотни тысяч параметров, которые отвечают за различные настройки. Зная, что в разделе HKEY_CURRENT_USER расположены настройки учетной записи пользователя, в HKEY_LOCAL_MACHINE – настройки компьютера, а раздел HKEY_CLASSES_ROOT отвечает за запуск необходимой программы при открытии файла с помощью проводника, область поиска необходимого параметра сокращается, хотя найти нужный параметр все равно очень сложно. Использовать твикеры реестра не рекомендуется, так как они могут записывать в реестре ненужные разделы и параметры, а поиск в интернете ничего не дает. В этом случае вам следует воспользоваться программами, предназначенными для мониторинга реестра. В этой статье речь пойдет о RegShot и Process Monitor – утилите Sysinternals, предназначенной для мониторинга операционной системы Windows, которая в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков.
Использование программы RegShot
RegShot – это небольшая утилита, предназначенная для фиксации изменений в системном реестре операционных систем Windows. Эта утилита может делать снимки системного реестра, сравнивать два снимка и находить между ними все изменения. Все настройки программы сохраняются в файле конфигурации regshot.inf, а языковые настройки хранятся в файле language.inf. Основным преимуществом программы является то, что она не интегрируется в систему и не записывает в реестр никакой информации. Рассмотрим принципы работы этой утилиты на простом примере.
В этом примере попробуем проследить за изменениями, связанными с одной из настроек браузера Internet Explorer. Для того чтобы проследить за изменениями, выполните следующие действия:
- Загрузите программу, перейдя по следующей ссылке, распакуйте содержимое архива и запустите файл regshot.exe;
- Перед тем как вы начнете вносить изменения в настройки браузера, сделайте первый снимок реестра, нажав на кнопку «1й снимок»;
После того как первый снимок будет сделан, откройте настройки браузера («Сервис» > «Свойства обозревателя» или введите inetcpl.cpl в поле поиска меню «Пуск» или в диалоге «Выполнить»). Перейдите на вкладку «Дополнительно», на опции «Подчеркивать ссылки» установите переключатель на «Никогда» и нажмите на кнопку «Применить»;
Вернитесь в программу RegShot и нажмите на кнопку «2й снимок» для создания снимка реестра с измененным параметром;
Программа RegShot позволяет сохранять изменения реестра в текстовый и в HTML форматы. Для того чтобы выбрать формат отчетов, установите переключатель на нужной опции в разделе «Сохранить файл отчетов как:».
В утилите RegShot вы можете также указать путь для сохранения файлов. Для этого введите путь вручную в поле «Путь для сохранения» или воспользуйтесь кнопкой обзор для выбора папки при помощи диалогового окна «Обзор папок».
После того как второй снимок реестра будет доделан нажмите на кнопку «Сравнить».
По завершению сравнения снимков реестра откроется программа установленная по умолчанию, предназначенная для открытия выбранного вами типа файла. В данном случае, так как был выбран текстовый формат, отчет открывается в программе «Блокнот». На следующем скриншоте выделены строки, отвечающие за изменение данной настройки.
После того как отчет будет сформирован вы можете очистить из буфера программы 1й, 2й снимок, а также очистить оба снимка сразу.
Отчет в формате HTML выглядит аккуратней и является более удобным, так как в нем строки со старым значением выделены зеленым цветом, для лучшего восприятия.
Теперь, после того как изменения видны, можно написать reg-файл, отвечающий за данную настройку. Если вы боитесь сделать в reg-файле ошибку, зайдите в редактор реестра и внесите изменения. После этого экспортируйте изменения в reg-файл и в блокноте удалите все ненужные строки.
В данном случае должен получиться такой reg-файл:
Если вам нужно найти сразу несколько параметров реестра, отвечающих за разные настройки, лучше всего находить эти параметры поочередно.
Использование программы Process Monitor
Если утилита RegShot предназначена только для фиксации изменений в системном реестре, то утилита Process monitor от Sysinternals, которая написана на основе утилит FileMon и RegMon, предназначена для мониторинга операционной системы Windows. Она в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков. При помощи этой утилиты вы можете выполнять следующие действия:
- отслеживать запуск и завершения работы процессов и потоков, включая информацию о коде завершения;
- собирать данные о параметрах операций ввода и вывода;
- устанавливать фильтры для отображения только нужной информации;
- записывать в журнал все операции во время загрузки системы.
и многое другое.
В этой части статьи я расскажу только о том, как можно следить за изменениями системного реестра при помощи этой утилиты. На примере мы попробуем проследить за изменениями в реестре при изменении браузера, используемого по умолчанию. Для этого выполните следующие действия:
- Загрузите программу ProcessMonitor с сайта Sysinternals.com, распакуйте содержимое архива и запустите файл Procmon.exe. Для работы утилиты Process Monitor необходимо зайти под учетной записью, входящей в группу «Администраторы»;
- Перед запуском этой утилиты в первый раз отобразится диалоговое окно с лицензионным соглашением. Прочитайте его и нажмите на кнопку «Agree»;
В случае появления запроса контроля учетных записей пользователей предоставьте подтверждение.
В окне Process Monitor вы можете увидеть все изменения системы в режиме реального времени. Вы можете перетаскивать колонки, изменить их порядок и настроить отображение столбцов утилиты. Для этого в меню «Options» выберите команду «Select Columns» или нажмите правой кнопкой мыши на любом месте заголовка столбцов и в контекстном меню выберите команду «Select Columns». В рамках этой статьи я не буду акцентировать внимание на значении выбираемых столбцов.
По умолчанию, утилита Process Monitor следит за системными файлами, реестром, процессами, сетевой активностью, а также за событиями профилирования. Так как в этом примере нужно проследить только за системным реестром, оставьте активной только кнопку «Show Registry Activity», как показано на следующем скриншоте:
- В меню «Filter» выберите команду «Filter»;
- Воспользуйтесь комбинацией клавиш Ctrl+L;
- Нажмите на кнопку «Filter» на панели инструментов программы.
Диалоговое окно фильтра позволяет указывать атрибуты, которые будут отображаться или исключаться событиями, соответствующими значениям атрибутов. В этом примере нужно воспользоваться только тремя типами атрибутов:
- EventClass – тип события, охватывающий один из основных классов событий (FileSystem, Network, Process, Profiling или Registry);
- Operation – действия, которые выполняет система;
- Process Name – имя процесса, за которым необходимо следить.
В этом примере будут использоваться только некоторые значения атрибута Operation. Краткое описание некоторых действий:
RegCloseKey – закрывает дескриптор указанного раздела реестра;
RegOpenKey – открывает дескриптор указанного раздела реестра;
RegCreateKey – создает дескриптор указанного раздела реестра;
RegQueryKey – возвращает значение параметров, связанных с открытым разделом реестра;
RegEnumKey – перечисляет подразделы указанного открытого раздела реестра;
RegDeleteKey – удаляет дескриптор указанного раздела реестра;
RegSetValue – изменяет значение указанного параметра реестра;
В диалоговом окне «Process Monitor Filter» для начала удалите все фильтры. Затем выполните следующие действия:
- Из первого раскрывающегося списка выберите атрибут «EventClass». Во втором раскрывающемся списке оставьте значение «is». В третьем раскрывающемся списке выберите значение «File System», а затем выберите «Exclude». Нажмите на кнопку «Add».
Повторите эти действия для классов «Network», «Process» и «Profiling».
Также вместо того чтобы исключать некоторые действия, вы можете просто установить «Include» для действия «RegSetValue».
После того как нужные фильтры будут выбраны, нажмите на кнопку «ОК». Во время применения фильтров вы увидите следующий диалог:
Остановите мониторинг реестра до того как вам нужно будет проверять изменения. Для этого нажмите на кнопку «Capture» на панели инструментов, или воспользуйтесь комбинацией клавиш Ctrl+E. Очистите содержимое программы, нажав на кнопку «Clear» или при помощи комбинации клавиш Ctrl+X.
Если у вас установлен по умолчанию браузер Internet Explorer, откройте Opera и дождитесь появления диалога с предложением сделать его по умолчанию. После появления этого диалога перейдите в Process Monitor и включите мониторинг при помощи кнопки «Capture». Снова перейдите в Opera и установите его браузером по умолчанию.
После выполнения этих действий вернитесь в Process Monitor и остановите мониторинг. Окно программы Process Monitor будет выглядеть примерно следующим образом:
Среди отобразившихся значений нетрудно заметить, что все изменения, которые относятся к установке браузера по умолчанию, хранятся в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts. Значение измененного параметра вы можете увидеть в столбце Details или открыв диалог свойств события:
Как редактировать реестр Windows
Многим известно, что системный реестр Windows предоставляет широкие возможности по настройке этой операционной системы.
В этой статье, ориентированной на неопытных пользователей, речь пойдет о том, как и что именно можно настроить с его помощью.
Что такое реестр Windows. Структура реестра Windows
Читатели, имеющие опыт редактирования реестра Windows, могут сразу перейти к просмотру описания конкретных параметров системы и ключей системного реестра, с помощью которых их можно изменить (внизу страницы). Если такого опыта у Вас нет, читайте все попорядку.
Реестр Windows — очень важная часть операционной системы, в которой хранится вся информация о параметрах программного обеспечения и порядке его взаимодействия с составными частями компьютера. Поэтому путем редактирования реестра можно существенно изменить настройки ПК в нужном пользователю направлении. Этот способ предоставляет возможность вносить более существенные коррективы в систему, чем при помощи стандартных средств Windows.
Windows автоматически присваивает всем создаваемым ярлыкам название «Ярлык для + имя файла-оригинала». А если в реестре найти двоичный параметр с названием «link», (в разделе «HKEY_CURRENT_USER\Software\Microsoft \Windows\CurrentVersion\Explorer»), и изменить его значение с «1b 00 00 00» на «00 00 00 00», приставка «Ярлык для» к названию ярлыков больше додаваться не будет.
Неопытным пользователям этот пример, наверное, покажется чем-то сложным и непонятным. Но это только на первый взгляд. На самом деле, РЕДАКТИРОВАТЬ РЕЕСТР WINDOWS ОЧЕНЬ ЛЕГКО. Просто, внимательно прочтите эту статью. Уверен, правильно редактировать реестр может любой пользователь.
Структура реестра Windows строго иерархична и имеет четкое построение. Основная его составная часть – это ключи (или параметры), в которых и хранится вся информация (в нашем примере это ключ с названием «link»). Каждый параметр реестра Windows отвечает за определенное свойство системы. Ключи с данными о смежных настройках компьютера объединены в разделы, которые, в свою очередь, являются подразделами более крупных разделов и т.д. Параметры (ключи) реестра бывают нескольких видов (параметры DWORD, QWORD, двоичные, строковые и многострочные параметры и др.) в зависимости от сведений, которые в них содержатся. Информацию с этих ключей Windows считывает главным образом во время запуска, поэтому для того чтобы внесенные в реестр Windows изменения вступили в силу, нужно перезагрузить компьютер.
Редактировать реестр можно через редактор реестра или при помощи твиков реестра.
Как работать в редакторе реестра Windows
Чтобы открыть редактор реестра Windows нужно нажать на клавиатуре кнопку «Windows» (обычно с изображением окошка, находится в нижнем ряду, слева, между кнопками Ctrl и Alt) и, удерживая ее, нажать кнопку «R» («К» в русской раскладке). Появится окно запуска программ. В нем нужно написать regedit и нажать кнопку «ОК».
Навигация в редакторе реестра Windows. Редактор реестра Windows состоит из двух окон. В левом окне отображается структура разделов реестра (проводник), в правом – параметры (ключи) реестра, содержащиеся в просматриваемом разделе. Если в левом окне редактора выделить определенный раздел (щелкнуть по нему мышкой), в правом окне будет отображаться список параметров, которые в нем содержатся.
Чтобы стало понятно, давайте вернемся к нашему примеру: откроем редактор реестра и попробуем найти двоичный параметр с названием link в разделе HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer . Для этого в левой части редактора двойным кликом мышки сначала открываем раздел HKEY_CURRENT_USER. Под ним появится список содержащихся в нем подразделов. Среди них находим и открываем раздел Software, в нем – раздел Microsoft и т.д. Когда доберемся до раздела Explorer и выделим его (щелчком мыши), в правом окне редактора появится список параметров, среди которых будет и параметр с названием «link».
Чтобы изменить значение параметра реестра Windows, нужно дважды щелкнуть по нему левой кнопкой мыши. Откроется окошко изменения параметра. В нем в поле «значение» нужно внести необходимые коррективы и нажать кнопку «ОК».
Создание нового параметра в реестре Windows. Сначала в левом окне редактора (проводнике) проходим к разделу, в котором нужно создать параметр, и выделяем его. Затем в правом окне щелкаем правой кнопкой мыши по пустому месту (не по параметрам, которые там есть) и в появившемся меню «создать» выбираем соответствующий вид создаваемого параметра. В списке появится новый параметр. Щелкаем по нему правой кнопкой мыши, выбираем «Переименовать», даем ему нужное название. Затем указанным в предыдущем пункте способом задаем ему необходимое значение.
Чтобы удалить параметр из реестра Windows, нужно щелкнуть по нему правой кнопкой мыши и выбрать «удалить».
Твики реестра Windows
Твики реестра Windows (англ. tweaks — настройки) — это настройки программного обеспечения и операционной системы, хранящиеся в системном реестре. Твики реестра реализуются при помощи REG-файлов — файлов, которые при их запуске автоматически вносят необходимые изменения в системный реестр Windows. Результат такой же, как и при ручном редактировании реестра через редактор. Нужные REG-файлы можно создавать самостоятельно или же использовать уже готовые, созданные другими пользователями. При этом, REG-файл может изменять как один параметр реестра, так и целые их группы (все зависит от того, что в нем прописать).
По сути, REG-файл – это самый обычный текстовый файл с расширением .reg . Чтобы все стало ясно, откройте текстовый редактор «Блокнот» (пройдите «Пуск»- «Все программы»- «Стандартные»- «Блокнот») и в любом месте сохраните пустой файл 1111 с расширением reg. Для этого в блокноте нужно зайти в меню «Файл», выбрать «Сохранить как», в окне «Имя файла» указать 1111.reg и нажать кнопку «сохранить» (см. изображение справа, щелкните по нему мышкой для увеличения).
Имя файла может быть любым, название 1111 взято только для примера. Главное, чтобы расширение было reg и обязательно через точку от названия (без пробелов). Теперь если сделать двойной щелчек мышки по сохраненному файлу, компьютер «спросит», действительно ли нужно добавить информацию из него в реестр. Если даже нажать на кнопку «да», никакие данные в реестр Windows добавлены не будут, поскольку наш REG-файл пока не содержит никакой информации. Для того, чтобы файл действительно работал, перед сохранением в него нужно внести определенные данные. Обратите внимание, что данные эти должны иметь строго определенную структуру. В противном случае, REG-файл по-прежнему работать не будет.
Если взять наш пример, то REG-файл, отключающий приставку «Ярлык для» в названии ярлыков, будет иметь следующий вид:
Windows Registry Editor Version 5.00
Давайте разберемся, что к чему.
В первой строке файла указывается информация о том, для редактирования какой версии Windows он предназначается. Если это Windows 98 или Windows NT, то в первой строке вписываем «REGEDIT4». Для более поздних версий Windows (2000, XP, 7 и др.) – «Windows Registry Editor Version 5.00» (без кавычек, точно как указано — со всеми пробелами, большими буквами и т.д.). Ничего больше в этой строке быть не должно.
Вторая строка обязательно должна быть пустой.
В третьей строке в квадратных скобках […] прописывается ветка (раздел) реестра, в которой находятся изменяемые параметры.
В четвертой и последующих строках прописываются изменяемые ключи, которые находятся в указанном разделе, а также проводимые с ними действия (каждый изменяемый параметр в отдельной строке).
Формат этих строк зависит от вида изменяемых ключей: