Windows-Registrierungsdatei mit zwei verschiedenen Tools bearbeitet, unterschiedliche Ergebnisse

Windows-Registrierungsdatei mit zwei verschiedenen Tools bearbeitet, unterschiedliche Ergebnisse

Ich versuche zwei verschiedene Tools, um alle Knoten aus einer Windows-Registrierungsstruktur zu bearbeiten und zu entfernen:

  • chntpwdas im Wesentlichen zum Bearbeiten von Kennwortdateien (SAM) entwickelt wurde, jetzt aber über eine interaktive Shell zum Bearbeiten von Registrierungsdateien verfügt.

  • hivexwelches aktueller ist und in erster Linie für die allgemeine Bearbeitung der Registrierung vorgesehen ist.

Um eine Vorstellung von den Unterschieden zwischen diesen Programmen zu bekommen, habe ich meine BCD-Datei (die vom Windows-Boot-Manager verwendet wird) genommen und mit beiden Programmen alle Knoten gelöscht.

Wie erwartet haben die resultierenden Dateien dieselbe Größe, sind aber nicht identisch. Als ich sie mit hivexoder öffnete chntpw, zeigten beide Editoren für beide Dateien 0 Knoten an.

Wenn ich jedoch hivexdie Datei öffne, die angeblich 0 Knoten hat, sehe ich übrig gebliebene Daten aus ihrem vorherigen Zustand.

Umgekehrt chntpwweist das Ergebnis von keine Restdaten von den Knoten auf.

Da ich mich derzeit über das Registrierungsdateiformat informiere, muss ich folgende Frage stellen:

Wenn ich einen verwenden müsste, welchen sollte ich wählen? Ich möchte natürlich das Verhalten des Parsers/Writers von Microsoft möglichst realistisch simulieren (ich möchte in der Lage sein, diese zu täuschen). Haben die übrig gebliebenen Daten also irgendeine Bedeutung? Würde der Windows-Boot-Manager Fehler ausgeben, wenn ich hivexeine gefälschte BCD-Datei erstelle?

PS: Die Frage ist unabhängig von meinem Hauptzweck, der hoffentlich deutlich geworden ist: Ich möchte die BCD-Datei (Boot Config Data) reparieren/erstellen, ohne das offizielle Windows-Installationsprogramm zu verwenden. Wenn Sie also diesbezüglich Ratschläge haben, können Sie diese gerne geben.

Antwort1

Hivex ist ausdrücklich darauf ausgelegt, alte Daten nicht aus der Datei zu entfernen. Dies ist ein wichtiges Ziel, da das Registry-Hive-Format nicht dokumentiert ist und niemand außer MSFT wirklich versteht, wie es funktioniert. Außerdem möchten wir beim Vornehmen von Änderungen keine Daten zerstören.

Beachten Sie, dass diesnichtbedeutet, dass Hivex keine Knoten löschen kann. Sie können Knoten über die API löschen und diese Knoten werden von normalen Windows-Registrierungsaufrufen nicht erkannt, aber es werden keine Daten aus der zugrunde liegenden Datei gelöscht/entfernt/abgeschnitten.

Wenn Sie eine leere Hive-Datei möchten, empfehle ich, mit einer leeren Hive-Datei zu beginnen. Im Hivex-Quellcode befindet sich eine leere Hive-Datei (genannt „minimal“), die Sie verwenden können.

verwandte Informationen