#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:
При использовании виртуальной машины я использую эти шаги для проверки изменений в реестре:
- Используя 7-Zip, откройте файл vdi/vhd/vmdk и извлеките папку C:WindowsSystem32config
- Запустите OfflineRegistryView, чтобы преобразовать реестр в открытый текст
- Установите «Папку конфигурации» в папку, которую вы извлекли
- Установите «Базовый ключ» в
HKLMSYSTEM
илиHKLMSOFTWARE
- Установите для параметра «Глубина подраздела» значение «Неограниченно».
- Нажмите кнопку «Перейти» .
Теперь используйте свою любимую программу diff для сравнения снимков «до» и «после».
Ответ №9:
Я согласен с Франси, все утилиты Sysinternals стоит посмотреть (автозапуск тоже необходим), а монитор процессов, который заменяет старый добрый Filemon и Regmon, бесценен.
Помимо использования, которое вы хотите, очень полезно узнать, почему процесс завершается неудачно (например, попытка доступа к файлу или несуществующему разделу реестра) и т. Д.
Ответ №10:
Филхо мимоходом упомянул об автозапуске, но я думаю, что это заслуживает уточнения.
Он не сканирует весь реестр, только части, содержащие ссылки на вещи, которые загружаются автоматически (бывшие, библиотеки DLL, драйверы и т.д.), Что, вероятно, вас интересует. Он не отслеживает изменения, но может экспортировать их в текстовый файл, так что вы можете запустить его до и после установки и выполнить изменения.