Stellen Sie das Blattschutzkennwort in Excel wieder her

14

Ich habe eine Excel-Arbeitsmappe.

Zwei Jahre, bevor ich die Kennwortschutzoption für eines der Blätter festgelegt habe. Jetzt habe ich das Passwort vergessen. Gibt es eine Möglichkeit, das Kennwort dieser Excel-Tabelle wiederherzustellen?

slhck
quelle

Antworten:

17

Sie können DAS Kennwort nicht wiederherstellen, aber Sie können den Schutz des Arbeitsblatts aufheben (Der zum Schutz des Arbeitsblatts verwendete Hash ist in den alten Excel-Versionen sehr anfällig für Kollisionen, daher ist das Erzeugen einer Kollision hier recht schnell).

Es stehen Skripte zur Verfügung, mit denen Sie Ihr Blatt innerhalb kürzester Zeit gewaltsam öffnen können.

Schauen Sie sich zum Beispiel hier um: http://www.theofficeexperts.com/VBASamples/Excel02.htm

Hier ist der Code:

Sub PasswordBreaker()
  'Author unknown but submitted by brettdj of www.experts-exchange.com

  Dim i As Integer, j As Integer, k As Integer
  Dim l As Integer, m As Integer, n As Integer
  Dim i1 As Integer, i2 As Integer, i3 As Integer
  Dim i4 As Integer, i5 As Integer, i6 As Integer
  On Error Resume Next
  For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
  For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
  For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
  For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126


 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
      Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
      Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
  If ActiveSheet.ProtectContents = False Then
      MsgBox "One usable password is " & Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
   ActiveWorkbook.Sheets(1).Select
   Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
       Exit Sub
  End If
  Next: Next: Next: Next: Next: Next
  Next: Next: Next: Next: Next: Next


End Sub
Johan - Setzen Sie Monica wieder ein
quelle
+1 mögliche Lösung. Umgekehrt ... programmiere eine App mit Apache POI und Digester. Gehen Sie die Datei durch und kopieren Sie sie, ohne das Kennwort zu berühren. (Ja in gewisser Weise ist es möglich)
User8885
2
+1 Funktioniert wie ein Zauber und bekommt eine Kollision in weniger als 10 Sekunden.
Johan - wieder Monica
Beeindruckend. Unglaublich, dass Kollisionen unter 194.560 Versuchen (fast?) Sicher sind. Ich hatte meine bei der ungefähr 3000. Iteration. Das sind ungefähr 17 Bit Gesamtentropie!
jonallard
Irgendwelche Nicht-VBA-Wege? Ich bin auf OSX und die ganze Datei ist geschützt.
Jonny
Ich bin mir ziemlich sicher, dass dies bei Excel-Dateien, die mit Excel 2013 und höher geschützt sind, aufgrund höherer Verschlüsselungsstufen nicht funktioniert.
ƬᴇcƬᴇιᴇ007