Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

UPDATE: просто скачайте NirLauncher (который включает все приложения от NirSoft). Это одно из лучших дополнений к панели инструментов Windows. http://launcher.nirsoft.net/

Ответ 2

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

Ответ 3

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

В реестре есть три класса событий WMI:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

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

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

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

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

Определение класса реестра с квалификаторами

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

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

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

метод мониторинга реестра "всегда", т.е. если приложение не запущено.

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

http://msdn.microsoft.com/en-us/library/aa393040(VS.85).aspx

Ответ 8

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

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

Ответ 9

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

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

Ответ 10

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

  1. Используя 7-Zip, откройте файл vdi/vhd/vmdk и распакуйте папку C:\Windows\System32\config
  2. Запустите OfflineRegistryView, чтобы преобразовать реестр в открытый текст
    • Установите "Config Folder" в папку, которую вы извлекли
    • Установите "Базовый ключ" в HKLM\SYSTEM или HKLM\SOFTWARE
    • Установите для параметра "Subkey Depth" значение "Unlimited".
    • Нажмите кнопку "Перейти"

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