Ich habe diesen VBA-Code gefunden, um Blätter freizugeben, ohne das Passwort zu kennen:
%Vor%Meine Frage ist: Welche Art von Exploit verwendet es, um zu arbeiten?
Mit anderen Worten, wie kann diese generierte Zeichenfolge aus A und B als Kennwort für ein Blatt in einer bestimmten Arbeitsmappe verwendet werden?
Der Kennwortschutz für Excel-Arbeitsblätter funktioniert, indem das eingegebene Kennwort in einen Hash umgewandelt und gespeichert wird. Ein Hash ist ein Einweg-Algorithmus, der die Bits zusammenfasst, dabei einige Informationen verliert, aber einen Fingerabdruck der Originaldaten generiert. Wegen des Verlustes von Daten ist es unmöglich, einen Hash umzukehren, um das ursprüngliche Passwort zu erhalten, aber in der Zukunft, wenn jemand ein Passwort eingibt, kann es gehackt und mit dem gespeicherten Hash verglichen werden. Dies macht es (normalerweise) sicherer als das Speichern des Passworts als Zeichenfolge, mit der verglichen werden soll.
Die beste Beschreibung, die ich bisher gefunden habe , wie brutal der Excel-Hashalgorithmus funktioniert, befindet sich auf der Seite @ mehow Links zu, geposted von Torben Klein. Seine Antwort kann wie folgt zusammengefasst werden:
Basierend auf dieser Beschreibung der Hash-Funktion von Excel generiert der folgende Code denselben Hashwert wie Excel, mit dem Sie Kleins Funktion testen können.
%Vor%Jemand hat einen funktionierenden vba-Code erstellt, der das vba-Schutzkennwort für alle Excel-Dateien, einschließlich .xlsm (2007+ -Versionen) in "Makro" ändert. Sie können sehen, wie es funktioniert, indem Sie seinen Code durchsuchen.
Hier ist der Kerl Blog (Kredite, wo es fällig ist): Ссылка
Hier ist die Datei, die die Arbeit erledigt: Ссылка
Aus einem früheren Post von seinem Blog eingefügt:
Führen Sie für Excel 2007/2010 (.xlsm) -Dateien die folgenden Schritte aus:
Suchen und kopieren Sie den Wert aus dem Parameter DPB (Wert in Anführungszeichen), Beispiel: DPB="282A84CBA1CBA1345FCCB154E20721DE77F7D2378D0EAC90427A22021A46E9CE6F17188A". (Dieser Wert wird für das Kennwort 'macro' generiert. Sie können diesen DPB-Wert verwenden, um die Schritte 1-8 zu überspringen)
Führen Sie die Schritte 4-7 für die Datei mit unbekanntem Passwort durch (Datei, die Sie entsperren möchten).
Ändern Sie in dieser Datei den DBP-Wert für den Wert, den Sie in Schritt 8 kopiert haben.
Wenn der kopierte Wert kürzer als in einer verschlüsselten Datei ist, sollten Sie fehlende Zeichen mit 0 (Null) füllen. Wenn der Wert länger ist - das ist kein Problem (fügen Sie es so ein).
Speichern Sie die Datei 'vbaProject.bin' und beenden Sie den Hex-Editor.