web-dev-qa-db-de.com

Verfolgung von Änderungen in der Windows-Registrierung

Gibt es eine Möglichkeit, Änderungen in der Windows-Registrierung zu verfolgen? Ich möchte gerne sehen, welche Änderungen in der Registry während der Installation verschiedener Programme vorgenommen werden. 

38
sumek

Kann Registry-Änderungen überwachen, die von einem bestimmten Programm vorgenommen wurden.

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

UPDATE: Laden Sie einfach NirLauncher herunter (einschließlich aller Anwendungen von NirSoft). Es ist eine der besten Ergänzungen für Ihre Windows-Toolbox . http://launcher.nirsoft.net/

38
BlackTea

Process Monitor ermöglicht die Überwachung der Datei- und Registrierungsaktivität verschiedener Prozesse.

45
Franci Penov

In Bezug auf WMI und Registry:

Es gibt drei WMI-Ereignisklassen, die sich auf die Registrierung beziehen:

  • RegistryTreeChangeEvent
  • RegistryKeyChangeEvent
  • RegistryValueChangeEvent 

Registrierungsereignisklassen

Sie müssen sich jedoch dieser Einschränkungen bewusst sein:

  • Mit RegistryTreeChangeEvent und RegistryKeyChangeEvent können Sie nicht direkt sagen, welche Werte oder Schlüssel tatsächlich geändert wurden. Dazu müssen Sie den Registrierungsstatus vor dem Ereignis speichern und mit dem Status nach dem Ereignis vergleichen.

  • Sie können diese Klassen nicht mit HKEY_CLASSES_ROOT- oder HKEY_CURRENT_USER-Bienenstöcken verwenden. Sie können dies umgehen, indem Sie eine WMI-Klasse erstellen, die den zu überwachenden Registrierungsschlüssel darstellt:

Definieren einer Registrierungsklasse mit Qualifikatoren

und verwenden Sie es mit abgeleiteten __InstanceOperationEvent-Klassen.

So ist die Verwendung von WMI zur Überwachung der Registry möglich, aber weniger als perfekt. Der Vorteil ist, dass die Änderungen in Echtzeit überwacht werden können. Ein weiterer Vorteil könnte das Abonnement für permanente WMI-Ereignisse sein:

Ereignisse jederzeit empfangen

eine Methode, um die Registry 'jederzeit' zu überwachen, dh. Ereignis, wenn Ihre Anwendung nicht ausgeführt wird.

11
Uros Calakovic

Ein einfacher Weg, dies ohne zusätzliche Tools zu tun, besteht darin, die Registrierung vor der Installation in eine Textdatei zu exportieren und anschließend in eine andere Datei zu exportieren. Vergleichen Sie dann die beiden Dateien.

Dafür sind die Sysinternals-Tools hervorragend geeignet.

9
Greg Hewgill

Es gibt Python-Hids namens sobek ( http://code.google.com/p/sobek-hids/ ), die einige Teile der SO überwachen können. Es funktioniert gut für mich für das Überwachen von Dateiänderungen, und obwohl das Dokument besagt, dass es in der Lage ist, Registrierungsänderungen zu überwachen, funktioniert es für mich nicht.

Eine gute Software, mit der Python-basierte HIDs problemlos abgespielt werden können.

2
Luis Fernández

Bei Verwendung einer VM überprüfe ich anhand der folgenden Schritte Änderungen an der Registrierung:

  1. Öffnen Sie mit 7-Zip die Datei vdi/vhd/vmdk und extrahieren Sie den Ordner C:\Windows\System32\config
  2. Führen Sie OfflineRegistryView aus, um die Registrierung in Klartext Zu konvertieren.
    • Stellen Sie den 'Config Folder' auf den Ordner, den Sie extrahiert haben
    • Setze den 'Base Key' auf HKLM\SYSTEM oder HKLM\SOFTWARE
    • Setze die 'Subkey Depth' auf 'Unlimited'
    • Drücken Sie die 'Go'-Taste

Verwenden Sie jetzt Ihr bevorzugtes Diff-Programm, um die Schnappschüsse "Vorher" und "Nachher" zu vergleichen.

1
Fidel

Regshot verdient hier eine Erwähnung. Es scannt und erstellt einen Snapshot aller Registrierungseinstellungen. Anschließend führen Sie es zu einem späteren Zeitpunkt erneut aus, um ihn mit dem ursprünglichen Snapshot zu vergleichen, und zeigt Ihnen alle geänderten Schlüssel und Werte an.

1
Baodad

Es gibt verschiedene Möglichkeiten. Wenn Sie es selbst machen möchten, ist WMI wahrscheinlich der richtige Weg. RegistryKeyChangeEvent und seine Verwandten sind die, die man sich ansehen muss. Möglicherweise gibt es auch eine Möglichkeit zur Überwachung durch die Klassen __InstanceCreationEvent, __InstanceDeletionEvent und __InstanceModificationEvent.

http://msdn.Microsoft.com/de-de/library/aa393040(VS.85).aspx

1
olle

Ich stimme mit Franci überein, alle Sysinternals-Dienstprogramme sind einen Blick wert (Autoruns ist ebenfalls ein Muss) und Process Monitor, der die guten alten Filemon und Regmon ersetzt, ist wertvoll.

Abgesehen von der gewünschten Verwendung ist es sehr nützlich zu sehen, warum ein Prozess fehlschlägt (z. B. beim Versuch, auf eine Datei oder einen nicht vorhandenen Registrierungsschlüssel zuzugreifen) usw.

0
PhiLho

PhiLho hat AutoRuns im Vorbeigehen erwähnt, aber ich denke, es verdient eine Ausarbeitung.

Es scannt nicht die gesamte Registry, sondern nur die Teile, die Verweise auf Dinge enthalten, die automatisch geladen werden (EXEs, DLLs, Treiber usw.). Dies ist wahrscheinlich das, woran Sie interessiert sind. Es verfolgt keine Änderungen, sondern kann in einen Text exportieren Datei, damit Sie es vor und nach der Installation ausführen und ein diff ausführen können.

0
Hugh Allen