Розблокуйте пароль 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 (".");
Напад на грубої сили на архів
Тож складіть і тестуйте паролі по одному. Якщо програма успіху друкує належний пароль на консолі.
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}