Вопрос

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

  • РеестрTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent

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

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

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

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

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

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

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

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

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

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

При этом инструменты Sysinternals отлично подходят для этого.

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

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

Хорошее программное обеспечение для легкого воспроизведения скрытых файлов на основе Python.

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

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

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

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

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

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

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

  1. Используя 7-Zip, откройте файл vdi/vhd/vmdk и извлеките папку C:\Windows\System32\config.
  2. Бегать ОффлайнРеестрView преобразовать реестр в открытый текст
    • Установите «Папку конфигурации» в папку, которую вы извлекли.
    • Установите «Базовый ключ» на HKLM\SYSTEM или HKLM\SOFTWARE
    • Установите для параметра «Глубина подраздела» значение «Неограниченно».
    • Нажмите кнопку «Перейти»

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top