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

Забутий пароль

Загальноприйнято забути пароль “частково”, i. е. Запам’ятайте деяких його персонажів, забуваючи інших. Aspose.zip API дозволяє грати з такими напів забулими паролями, щоб розблокувати архів. У цій статті показано здогадування пароля розшифровки засвоєного ZIP-архіву AES.

Ідентифікація шаблону пароля

Скажімо, ваш пароль починається з символів “t0p $ ecret”, а потім - Capital English Letter та двох цифр. Отже, ми можемо описати такий шаблон:

1String template = "t0p $ ecret {0} {1}";
Там, де колишній заповнювач-для капітального англійського листа, останній-для двоцифрового числа.

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

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

1Параметри ArchiveLoadoptions = нові архівелоадопції ();
2опції.setDecryptionPassword (пароль);
3спробуйте (архів A = новий архів ("зашифрований.zip", варіанти))
4    A. ExtractTodirectory (".");
Підвищує InvalidDataException Якщо поставлений неправильний пароль.

Напад на грубої сили на архів

Тож складіть і тестуйте паролі по одному. Якщо програма успіху друкує належний пароль на консолі.

 1String template = "t0p $ ecret {0} {1}";
 2для (char c = 'a'; c <'z'; c ++)
 3{
 4    Boolean Правильно = помилковий;
 5    for (int i = 10; i <99; i ++)
 6    {
 7        Рядок пароля = messageformat.format (шаблон, c, i);
 8        Параметри ArchiveLoadoptions = нові архівелоадопції ();
 9        опції.setDecryptionPassword (пароль);
10        спробуйте (архів A = новий архів ("endrypted.zip", параметри)) {
11            A. ExtractTodirectory (".");
12            Правильно = правда;
13        }
14        лов (InvalidDataException e)
15        {
16            Правильно = помилково;
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.