Разблокируйте пароль ZIP

Забытый пароль

Обычно забыть пароль «частично», т.е. эн. Помните некоторых персонажей этого, забывая других. Aspose.zip API позволяет вам играть с такими полузабоченными паролями, чтобы разблокировать архив. В этой статье показывается, что угадает пароль расшифровки архива с зашифрованным AES.

Идентификационный шаблон пароля

Допустим, ваш пароль начинается с символов “T0p $ ecret”, за которыми следуют капитальный английский буквы и две цифры. Итак, мы можем описать такой шаблон, как это:

1String Template = "t0p $ ecret {0} {1}";
Там, где бывший заполнитель предназначен для капитального английского письма, последнее предназначено для двухзначного числа.

Проверка одного пароля

Этот простой код дешифрования

1Archiveloadoptions Options = new ArchiveLodoptions ();
2Options.SetDecryptionPassword (пароль);
3Попробуйте (архив a = новый архив ("encrypted.zip", опции)))
4    A.ExtractTodirectory (".");
Повышает InvalidDataException Если был предоставлен неправильный пароль.

Атака грубой силы на архив

Так что составьте и протестируйте пароли один за другим. Если программа успеха печатает правильный пароль в консоли.

 1String Template = "t0p $ ecret {0} {1}";
 2для (char c = 'a'; c <'z'; c ++)
 3{
 4    логическое правильное = false;
 5    для (int i = 10; i <99; i ++)
 6    {
 7        String password = messageFormat.format (шаблон, c, i);
 8        Archiveloadoptions Options = new ArchiveLodoptions ();
 9        Options.SetDecryptionPassword (пароль);
10        Попробуйте (архив a = new Archive ("encrypted.zip", Options)) {
11            A.ExtractTodirectory (".");
12            правильно = true;
13        }
14        Улов (InvalidDataException e)
15        {
16            правильно = false;
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.