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.
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/
Process Monitor ermöglicht die Überwachung der Datei- und Registrierungsaktivität verschiedener Prozesse.
In Bezug auf WMI und Registry:
Es gibt drei WMI-Ereignisklassen, die sich auf die Registrierung beziehen:
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.
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.
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.
Bei Verwendung einer VM überprüfe ich anhand der folgenden Schritte Änderungen an der Registrierung:
HKLM\SYSTEM
oder HKLM\SOFTWARE
Verwenden Sie jetzt Ihr bevorzugtes Diff-Programm, um die Schnappschüsse "Vorher" und "Nachher" zu vergleichen.
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.
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
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.
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.