Отследить изменения в реестре. Внесение изменений в реестр при помощи REG-файла. Где осуществляется внесение изменений в егрн

Прочие модели 02.07.2020
Прочие модели

Время от времени у пользователей и системных администраторов может возникать необходимость посмотреть изменения в реестре Windows за определенный период. Это может быть вызвано желанием посмотреть, какие изменения вносят определенная программа или действия пользователей.

Посмотреть изменения, внесённые в реестр Windows, можно как встроенными в операционную систему средствами, так и при помощи стороннего ПО. Начнём с первых.

Кроме того, упомянем ещё, что всё сводится к двум методам: сравнению двух «снимков» реестра, сделанных в разное время, или мониторингу изменений в режиме реального времени.

Самый доступный способ посмотреть, какие в реестр были внесены изменения, это использование встроенной в Windows утилиты fc.exe . Плюсом этого метода является отсутствие надобности искать дополнительное ПО. В общем-то, утилита fc.exe используется не только для просмотра изменений реестра, а для сравнения двух файлов или наборов файлов вообще. Таким образом, становится понятно, что нам нужны два «снимка» реестра.

Экспортируем предварительно весь реестр или только нужную нам ветку. Допустим, у нас есть два файла: 1.reg и 2.reg, которые мы положили на диск C. Тогда для их сравнения можно использовать команду

fc c:\1.reg c:\2.reg > c:\log.txt

В данном случае мы вывели результат работы команды в текстовый файл. Но я бы рекомендовал использовать более продвинутый формат и (или) редактор посильнее Блокнота, чтобы не было проблем с .

Выше я использовал MS Word и формат.doc.

Проблема использования fc.exe кроется в том, что результат её работы является малочитаемым. Скриншот выше говорит о том, что в ветку был добавлен параметр Primer . Но вряд ли получится это понять, если не знать об этом заранее. Полноценным инструментом анализа fc.exe не назовешь. Эта утилита больше подходит, когда вы сами вносите изменения в реестр, и хотите убедиться, что они были внесены (но не хотите бродить по веткам реестра в regedit ).

Поэтому перейдем к другой утилите, которая, к сожалению, уже не входит в состав современных версий Windows, но может быть добавлена. Называется она WinDiff . Добавить её можно через установку пакетов Microsoft Windows SDK. К сожалению, после Windows 7 WinDiff исключили и из этих пакетов, но скачать её можно и отдельно, например, .

Чтобы использовать утилиту WinDiff из командной строки Windows, поместите её в каталог %WINDIR%\System32 . Теперь для сравнения двух файлов реестра из примера нам достаточно ввести команду

windiff C:\1.reg C:\2.reg

Откроется графический интерфейс утилиты, который можно видеть на скриншоте выше. Разберемся, как читать вывод программы WinDiff.

  • Строки на белом фоне означают совпадение содержимого файлов;
  • Строки на красном фоне показывают содержимое первого (левого) файла, которого нет во втором (правом);
  • Строки на желтом фоне показывают содержимое второго (правого) файла, которого нет в первом (левом).

У нас есть желтая строка с содержимым «Primer»=»» . Это говорит о том, что во втором файле появился параметр Primer с пустым значением. И находится он в HKEY_LOCAL_MACHINE\SOFTWARE\Test . Так как второй файл был сохранен позже первого, можно сделать вывод, что этот параметр был добавлен, а не удален.

Перейдем к сторонним утилитам мониторинга реестра.

Популярным бесплатным решением является программа Regshot . Программа тоже работает со снимками реестра, причем делает их сама, а не анализирует заранее сохраненные файлы. В этом её минус. А плюс в том, что она очень проста.

Сперва нужно сделать первый снимок реестра.

После чего их можно сравнить.

После окончания процесса сравнения программа автоматически откроет файл с результатами работы. Ещё одним плюсом Regshot является то, что этот файл легко читается. Правда, стоит отметить, что в нём будет куча изменений реестра, которые могут показаться своеобразной азбукой Морзе. В моем случае оба снимка были сделаны с разницей меньше минуты. Мои действия заключались только в том, что я удалил параметр Primer. Как видите, программа это зафиксировала. А также зафиксировала и много других изменений. «Под капотом» операционной системы постоянно что-то происходит, и большая часть из этого скрыта от наших глаз.

Более ненужные снимки можно удалить, нажав кнопку Очистить в интерфейсе программы. Скачать программу Regshot можно .

Последним рассматриваемым в этой статье средством мониторинга реестра Windows будет программа Registry Live Watch . Пожалуй, уже из названия можно понять, что данная программа способна следить за изменением реестра в реальном времени.

Программа тоже крайне проста и, по сути, даже не имеет толком настроек. Вы лишь указываете ветку реестра, за которой требуется следить, и запускаете мониторинг кнопкой Start Monitor .

Однако программа имеет серьезный недостаток, который, по большей части нивелирует саму идею мониторинга. Она выдаёт лишь сообщения об изменении в наблюдаемой ветке реестра, но не пишет, какие именно изменения были внесены. Вторым недостатком является то, что Registry Live Watch не умеет мониторить весь реестр целиком. Скачать программу можно .

Под конец статьи поговорим о том, как автоматизировать сбор информации о реестре не прибегая к стороннему ПО. Сделать это можно при помощи скрипта, содержащего команду reg export , синтаксису которой посвящена . Запуская данный скрипт по расписанию, вы получите ряд снимков реестра, которые можно будет при необходимости сравнить.

Иногда может потребоваться отследить изменения, выполняемые программами или настройками в реестре Windows. Например, для последующей отмены этих изменений или для того, чтобы узнать, как те или иные параметры (например, настройки оформления, обновлений ОС) записываются в реестр.

В этом обзоре - популярные бесплатные программы, которые позволяют легко просмотреть изменения в реестре Windows 10, 8 или Windows 7 и некоторая дополнительная информация.

Бесплатная программа Registry Live Watch работает по несколько иному принципу: не путем сравнения двух образцов реестра Windows, а путем мониторинга изменений в режиме реального времени. Однако программа не отображает самих изменений, а лишь сообщает о том, что такое изменение произошло.

Скачать программу можно с официального сайта разработчика http://leelusoft.altervista.org/registry-live-watch.html

WhatChanged

Еще одна программа, позволяющая узнать, что изменилось в реестре Windows 10, 8 или Windows 7 - WhatChanged. Её использование очень похоже на таковое в первой программе этого обзора.

У программы нет собственного официального сайта, но она легко находится в Интернете и не требует установки на компьютер (на всякий случай перед запуском проверьте программу с помощью virustotal.com, при этом учитывайте, что в оригинальном файле есть одно ложное обнаружение).

Еще один способ сравнить два варианта реестра Windows без программ

В Windows присутствует встроенный инструмент для сравнения содержимого файлов - fc.exe (File Compare), который, в том числе, можно использовать и для сравнения двух вариантов ветвей реестра.

Для этого с помощью редактора реестра Windows экспортируйте необходимую ветвь реестра (правый клик по разделу - экспортировать) до изменений и после изменений с разными именами файлов, например, 1.reg и 2.reg.

Затем используйте в командной строке команду наподобие:

Fc c:\1.reg c:\2.reg > c:\log.txt

Где указаны сначала пути к двум файлам реестра, а затем - путь к текстовому файлу результатов сравнения.

К сожалению, способ не подойдет для отслеживания значительных изменений (потому как визуально в отчете не получится ничего разобрать), а лишь для какого-то небольшого раздела реестра с парой параметров, где предполагается изменение и скорее для отслеживания самого факта изменения.

Даже самые незначительные изменения настроек в Windows, не говоря уже об установке или удалении программ сопровождаются соответствующим изменениями в системном реестре. Обычно пользователям нет до них никакого дела, но иногда может возникнуть необходимость их отследить, скажем, для сравнения или ручной отмены какого-нибудь изменения, внесенного скриптом или приложением.

Как отследить изменения в реестре Windows

Если предполагаемые изменения невелики, отследить их можно средствами самой операционной системы. Откройте редактор реестра, выделите в нем ветвь, в которую предположительно будут внесены изменения и экспортируйте ее в REG-файл с именем 1.

Внесите необходимые изменения и повторно экспортируйте ветку в REG-файл, но уже с именем 2.

Допустим, вы сохранили оба файла в корень диска D. Сравним их. Откройте командную строку и выполните в ней две такие команды:

fc D:/1.reg D:/2.reg > D:/compare.log

Первая устанавливает кириллическую кодировку, вторая сохраняет результат сравнения в лог.

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

Regshot

Наиболее известной программой для отслеживания изменений в реестре является Regshot. Запускаем утилиту, жмем кнопку «1й снимок», производим настройки, установку ПО и т.д., после чего жмем кнопку «2й снимок», а затем «Сравнить».

Результаты будут выведены в обычном текстовом или HTML-файле (по выбору сравнивающего).

Программа показывает какие разделы и параметры были созданы и удалены, какие изменены и общее количество изменений. К сожалению, Regshot не позволяет сканировать определенные разделы и ключи, из-за чего в файл отчета записываются изменения, сделанные самой Windows.

Registry Live Watch

Несколько иной подход к отслеживанию изменений в реестре предлагает другая бесплатная утилита Registry Live Watch. В отличие от Regshot, она не сравнивает два снимка реестра, а отслеживает изменения в его разделах в режиме реального времени, выводя данные в специальном текстовом поле своего окна. Кроме того, Registry Live Watch позволяет отслеживать изменения, произведенные конкретным исполняемым файлом.

Но и у этой программы есть свой недостаток. Она не может мониторить весь реестр и даже его разделы, а только отдельные ключи.

CRegistry Comparison

Нечто похожее на Regshot представляет собой бесплатная программка CRegistry Comparison. После запуска она предлагает выбрать каталог для сохранения исходного снимка, после чего тут же создает и сохраняет его.

В некоторые разделы реестра Windows изменения не может внести даже администратор, работающий в редакторе реестра, который запущен с полными правами. Это происходит потому, что у группы «Администраторы» нет прав на запись в этот раздел реестра. Причин для этого может быть две:

  • Группа «Администраторы» является владельцем раздела, но не имеет полных прав на него. В этом случае достаточно просто выдать группе «Администраторы» полные права.
  • Владельцем раздела являются системная учетная запись Система или TrustedInstaller (Вторая служит в рамках комплекса по укреплению безопасности операционной системы , но для любителей «поковырять» реестр она представляет собой досадную помеху на пути к цели). В этом случае можно сначала стать владельцем раздела, а затем выдать своей группе полные права. Но есть и более интересные альтернативы — утилиты для запуска исполняемых файлов от имени этих учетных записей.

На этой странице

В Windows 8 слегка изменился графический интерфейс смены владельца, что стало непреодолимым препятствием для ряда читателей, судя по комментариям. Мне претит, когда на одной странице дублируются практически одинаковые инструкции, но другие варианты еще хуже. Поэтому выбирайте инструкции для своей ОС. Я полагаю, что в редакторе реестра у вас уже открыт нужный раздел реестра.

Получение полных прав и смена владельца

По ходу дела вы увидите, кто является владельцем раздела реестра. Если это Система или TrustedInstaller , можно воспользоваться подходящей утилитой ↓

Windows 8 и новее

  1. Щелкните правой кнопкой мыши на разделе реестра и выберите из меню пункт Разрешения .
  2. Выделите группу «Администраторы»:
  • Нажмите кнопку Дополнительно , нажмите ссылку Изменить вверху окна, введите адрес электронной почты учетной записи Microsoft или имя локальной учетной записи, проверьте имя и нажмите кнопку ОК .

  • Установите флажок ОК .
  • Установите флажок «Полный доступ», как описано в пункте 2.
  • Windows 7

    Теперь ничто не препятствует записи в этот раздел реестра. Однако я рекомендую восстановить права, когда вы закончите редактирование раздела.

    Возвращение исходных прав и восстановление владельца

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

    Windows 8 и новее


  • Установите флажок Заменить владельца подконтейнеров и объектов вверху окна и нажмите кнопку ОК .
  • Выделите группу «Администраторы», снимите флажок Полный доступ и нажмите кнопку Применить .

    Windows 7


  • Теперь нужная учетная запись есть в списке. Выделите ее, установите флажок Заменить владельца подконтейнеров и объектов и нажмите кнопку ОК .
  • Исходные права и владелец раздела реестра восстановлены.

    Внесение изменений в реестр от имени учетной записи «Система»

    Если владельцем раздела реестра является специальная учетная запись «Система», существует способ внести изменения в раздел, не изменяя владельца и разрешений. Для этого используется утилита PsExec , входящая в набор утилит Марка Руссиновича PsTools. Суть способа сводится к запуску редактора реестра от имени системы.

    1. Загрузите набор PsTools и распакуйте утилиту PsExec в папку Windows, чтобы не указывать к ней путь в командной строке.
    2. Откройте командную строку от имени администратора и выполните команду: psexec -i -s regedit

    Запустится редактор реестра, причем от имени системы, что задается параметром -s (параметр -i обеспечивает интерактивный запуск приложения).



    Рекомендуем почитать

    Наверх