Entfernen Sie das Kennwort aus einem Excel-Dokument


11

Ich biete internen Support an und einer unserer Benutzer hat es versehentlich geschafft, ein Kennwort für eine Excel-Datei zu erstellen. Ich habe die richtigen Überprüfungen durchgeführt, um sicherzustellen, dass der Benutzer Zugriff auf das Dokument haben sollte, und möchte nun wissen, was das ist Empfehlung zum Entfernen eines Passworts aus einem Excel-Dokument.

Das Passwort wird nach dem Öffnen von Excel angezeigt, bevor Sie Daten in Excel sehen können.


Ähm, du bist irgendwie vollgestopft. Es sei denn, Sie möchten komplizierte Kryptografie-Aufgaben ausführen ... (Mir sind keine Programme bekannt, die dies für XLS-Dateien tun). Es gibt keine normale, automatisierte Methode, dies in Excel zu tun - das würde den Punkt, an dem man ein Passwort hat, irgendwie zunichte machen ... Ihre einzige Hoffnung wäre ein spezielles Programm zum Knacken von Chiffren für solche Dateien (was möglicherweise schwierig ist) finden). Vielleicht Google decrypt xlsoder ähnliches.
Samuel Jaeschke

Die Excel-XLSX-Datei ist eigentlich nur eine Zip-Datei. Entpacken und befolgen Sie Anweisungen wie diese. Ich habe in der Vergangenheit nicht sicher versucht, ob es funktioniert, wenn die gesamte Datei durch ein Passwort geschützt ist. nileshkumar83.blogspot.com/2012/05/…
Joop

1
@SamuelJaeschke Die Hook-Methode unter stackoverflow.com/a/27508116/5757159 funktioniert jedes Mal. Keine Risse erforderlich.
ThunderFrame

Antworten:


11

Elcomsoft macht ein ziemlich nützliches Programm namens Advanced Office Password Recovery, das die Arbeit besser erledigen kann als alles andere, was ich verwendet habe.

Es lohnt sich wahrscheinlich, einen Wert auf die Daten zu legen, die Sie wiederherstellen möchten, bevor Sie dies versuchen. Manchmal ist es günstiger, wenn der Benutzer das Dokument von Grund auf neu erstellt (und ihm eine wertvolle Lektion erteilt ;-)). AOPR ist nicht kostenlos, und die Passwörter können manchmal nur mit brutaler Gewalt (Ausprobieren jeder möglichen Buchstabenkombination) erarbeitet werden, was sehr lange dauern kann.


Die Programme von Elmcomsoft sind gut. Ich hatte in der Vergangenheit Erfolg damit, eine Excel-Datei zu öffnen, die mir ohne Passwort gesendet wurde. Holen Sie sich eine anständige Wortliste und probieren Sie diese zuerst aus (die in Cain und Abel enthaltene ist eine nette 3-MB-Liste). Wenn dies fehlschlägt, versuchen Sie es mit Brute Force, aber wenn es sich um ein
sicheres

Ich bin kein Fan davon, kommerzielle Software auf dieser Website zu empfehlen, aber in diesem Fall ist es bei weitem die beste Wahl. Empfohlen. +1.
Bis

1

Ist so etwas wie das Excel Password Remover XLA-Add-In, wonach Sie suchen?

BEARBEITEN: Denken Sie darüber nach, vielleicht auch nicht - dies wird verwendet, um das Passwort aus geschützten Arbeitsblättern / Arbeitsmappen zu entfernen.


ob wir ethisch mit diesem Tool lösen können?
Joe

1

Wenn Sie das Kennwort kennen, öffnen Sie das Excel-Dokument. Klicken Sie dann auf Datei> Speichern unter. Links neben der Schaltfläche Speichern befindet sich ein kleines Dropdown-Menü mit der Bezeichnung Extras. Klicken Sie darauf und dann auf Allgemeine Optionen. Löschen Sie dort die Passworteinträge und klicken Sie auf OK. Speichern Sie das Dokument.

Wenn Sie das Kennwort nicht kennen, können Sie es mit VBA suchen. Wenn ich raten müsste, hat Ihr Benutzer wahrscheinlich kein besonders starkes Passwort verwendet, sodass wir eine Brute-Force-Methode verwenden könnten, um es zu finden. Der folgende Code ist grob, aber er hat mir geholfen, ein schwaches, verlorenes Passwort in mehreren Dokumenten meiner Benutzer zu finden. Es sucht nach Passwörtern beliebiger Länge mit den ASCII-Zeichen von 1 bis z. Sie würden es aus dem Sofortfenster aufrufen und einige Minuten wie folgt warten:

? GetPassword("D:\mywkbk.xlsx")

- -

Public Function GetPassword(ByRef sFileName As String) As String
On Error Resume Next
    Dim pw As String
    pw = ""
    Do
        VBA.Err.Clear
        pw = GenerateNextPassword(pw)            
        Application.Workbooks.Open sFileName, False, True, , pw, pw
        VBA.DoEvents
    Loop While VBA.Err.Number = 5408
    GetPassword = pw
End Function

Public Function GenerateNextPassword(ByRef sCurrentPassword As String) As String
    Const MAX_CHAR = 122
    Const MIN_CHAR = 49

    Dim sCurrentPasswordMax As String
    Dim sNewPassword As String
    Dim i As Long

    sCurrentPasswordMax = String(Len(sCurrentPassword), Chr(MAX_CHAR))
    If sCurrentPassword = sCurrentPasswordMax Then
        'do an increment that changes the length
        sNewPassword = String(Len(sCurrentPassword) + 1, Chr(MIN_CHAR))
        Debug.Print Now(); ": "; sNewPassword
    ElseIf Asc(Right(sCurrentPassword, 1)) = MAX_CHAR Then
        'do an increment that changes multiple characters
        sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(MIN_CHAR)
        For i = Len(sCurrentPassword) - 1 To 1 Step -1
            sNewPassword = Left(sNewPassword, i - 1) & Chr(Asc(Mid(sNewPassword, i, 1)) + 1) & Mid(sNewPassword, i + 1)
            If Asc(Mid(sCurrentPassword, i, 1)) <> MAX_CHAR Then
                Exit For
            End If
        Next i
    Else
        'do an increment on the rightmost character
        sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(Asc(Right(sCurrentPassword, 1)) + 1)
    End If

    GenerateNextPassword = sNewPassword
End Function

Es ist implizit so, dass das Passwort verloren gegangen und vergessen wurde, sodass Ihr erster Absatz irrelevant ist. Wenn Sie Ihre VBA-Routine zum Entfernen eines unbekannten Passworts finden, lassen Sie es uns bitte wissen, aber ich vermute, dass dies unmöglich ist.
Scott

1
Nach dem erneuten Lesen des OP würde ich nachdrücklich argumentieren, dass es nicht klar ist, dass das Passwort verloren gegangen ist, daher behalte ich diesen ersten Absatz dort. Ich habe die Antwort mit einem VBA-Code aktualisiert, mit dem das Kennwort innerhalb weniger Minuten oder länger gefunden werden kann, wenn das Kennwort nicht bekannt ist.
Bobort

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.