Отслеживание изменений в реестре Windows

#windows #registry

Вопрос:

Есть ли способ отслеживать изменения в реестре Windows? Я хотел бы посмотреть, какие изменения в реестре вносятся во время установки различных программ.

Ответ №1:

Монитор процессов позволяет отслеживать активность файлов и реестра различных процессов.

Комментарии:

1. Но как это сделать? Используя некоторую инструкцию, подобную этой: howtogeek.com/school/sysinternals-pro/lesson5/all ?

Ответ №2:

Может отслеживать изменения реестра, внесенные определенной программой.

https://www.nirsoft.net/utils/reg_file_from_application.html

ОБНОВЛЕНИЕ: Просто скачайте NirLauncher (который включает в себя все приложения от NirSoft). Это одно из лучших дополнений к вашему набору инструментов Windows. https://launcher.nirsoft.net/

Комментарии:

1. Для меня RegistryChangesView ( nirsoft.net/utils/registry_changes_view.html ) из пакета NirLauncher было более полезно: он создает два снимка (например, до и после установки), а затем сравнивает их. Результат может быть экспортирован в .txt файл. В моем случае использования он обнаружил 301 изменение реестра после установки приложения. За то же время RegFromApp (прикреплено к msiexec.exe процессу) найдено всего 1 изменение.

Ответ №3:

Что касается WMI и реестра:

Существует три класса событий WMI, относящихся к реестру:

  • RegistryTreeChangeEvent
  • Регистрация события изменения
  • Значение регистрацииизменение

Классы событий Реестра

Но вы должны знать об этих ограничениях:

  • С помощью RegistryTreeChangeEvent и RegistryKeyChangeEvent невозможно напрямую определить, какие значения или ключи действительно изменились. Для этого вам нужно будет сохранить состояние реестра до события и сравнить его с состоянием после события.
  • Вы не можете использовать эти классы с узлами HKEY_CURRENT_USER или HKEY_CURRENT_USER. Вы можете преодолеть это, создав класс WMI, представляющий раздел реестра для мониторинга:

Определение Класса Реестра С Помощью Квалификаторов

и используйте его с производными классами __InstanceOperationEvent.

Таким образом, использование WMI для мониторинга реестра возможно, но не идеально. Преимущество заключается в том, что можно отслеживать изменения в «реальном времени». Еще одним преимуществом может быть постоянная подписка на события WMI:

Получение событий в любое время

способ мониторинга реестра «в любое время», т. е. событие, если ваше приложение не запущено.

Ответ №4:

Простой способ сделать это без дополнительных инструментов-экспортировать реестр в текстовый файл перед установкой, а затем экспортировать его в другой файл после. Затем сравните два файла.

Сказав это, инструменты Sysinternals отлично подходят для этого.

Ответ №5:

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

Ответ №6:

Существует python-hids под названием sobek ( http://code.google.com/p/sobek-hids/ ) , который способен отслеживать некоторые части SO. Он отлично работает для моего мониторинга изменений файлов, и хотя в документе говорится, что он может отслеживать изменения реестра, он не работает для меня.

Хорошая часть программного обеспечения для легкого удаления hids на основе python.

Ответ №7:

Есть несколько разных способов. Если вы хотите сделать это самостоятельно на лету, WMI, вероятно, лучший способ. RegistryKeyChangeEvent и на его родственников стоит посмотреть. Возможно , есть способ следить за этим __InstanceCreationEvent , __InstanceDeletionEvent и __InstanceModificationEvent за классами тоже.

http://msdn.microsoft.com/en-us/library/aa393040(ПРОТИВ 85).aspx

Ответ №8:

При использовании виртуальной машины я использую эти шаги для проверки изменений в реестре:

  1. Используя 7-Zip, откройте файл vdi/vhd/vmdk и извлеките папку C:WindowsSystem32config
  2. Запустите OfflineRegistryView, чтобы преобразовать реестр в открытый текст
    • Установите «Папку конфигурации» в папку, которую вы извлекли
    • Установите «Базовый ключ» в HKLMSYSTEM или HKLMSOFTWARE
    • Установите для параметра «Глубина подраздела» значение «Неограниченно».
    • Нажмите кнопку «Перейти» .

Теперь используйте свою любимую программу diff для сравнения снимков «до» и «после».

Ответ №9:

Я согласен с Франси, все утилиты Sysinternals стоит посмотреть (автозапуск тоже необходим), а монитор процессов, который заменяет старый добрый Filemon и Regmon, бесценен.

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

Ответ №10:

Филхо мимоходом упомянул об автозапуске, но я думаю, что это заслуживает уточнения.

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