ZIP-Kennwort freischalten

Vergessenes Passwort

Es ist üblich, Passwörter “teilweise” zu vergessen, d. h. sich an einige Zeichen zu erinnern und andere zu vergessen. Mit Aspose.ZIP API kann man mit solchen halb vergessenen Passwörtern spielen, um das Archiv zu entschlüsseln. Dieser Artikel zeigt, wie man das Entschlüsselungspasswort eines AES-verschlüsselten ZIP-Archivs errät.

Kennwortvorlage identifizieren

Angenommen, Ihr Kennwort beginnt mit den Symbolen “T0p$ecret”, gefolgt von einem englischen Großbuchstaben und zwei Ziffern. Wir können also eine Vorlage wie folgt beschreiben:

1String template = "T0p$ecret{0}{1}";
wobei der erste Platzhalter für einen englischen Großbuchstaben und der zweite für eine zweistellige Zahl steht.

Einzelpasswort überprüfen

Dieser einfache Entschlüsselungscode

1ArchiveLoadOptions options = new ArchiveLoadOptions();
2options.setDecryptionPassword(passwort);
3try (Archiv a = new Archiv("verschlüsselt.zip", Optionen))
4    a.extractToDirectory(".");
löst eine InvalidDataException aus, wenn ein falsches Passwort angegeben wurde.

Brute-Force-Angriff auf das Archiv

Stellen Sie also die Passwörter zusammen und testen Sie eines nach dem anderen. Im Erfolgsfall gibt das Programm das richtige Passwort auf der Konsole aus.

 1String template = "T0p$ecret{0}{1}";
 2for (char c = 'A'; c < 'Z'; c++)
 3{
 4    boolean correct = false;
 5    for (int i = 10; i < 99; i++)
 6    {
 7        String password = MessageFormat.format(template, c, i);
 8        ArchiveLoadOptions options = new ArchiveLoadOptions();
 9        options.setDecryptionPassword(passwort);
10        try (Archive a = new Archive("verschlüsselt.zip", options)) {
11            a.extractToDirectory(".");
12            richtig = wahr;
13        }
14        catch (InvalidDataException e)
15        {
16            richtig = falsch;
17        }
18
19        if (correct)
20        {
21            System.out.println("Proper password: " + password);
22            break;
23        }
24    }
25
26    if (correct)
27        break;
28}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.