zipパスワードのロックを解除します
Contents
[
Hide
Show
]忘れられたパスワード
パスワードを「部分的に」忘れることが一般的です。 e。他の人を忘れながら、その一部のキャラクターを覚えておいてください。 Aspose.Zip APIでは、このような半分忘れられたパスワードで再生して、アーカイブのロックを解除できます。この記事は、AES暗号化されたZIPアーカイブの復号化パスワードを推測することを示しています。
パスワードテンプレートの識別
パスワードが「T0p $ ecret」シンボルに続いて、Capital English Letterと2桁で始まるとしましょう。したがって、このようなテンプレートを説明できます。
1string template = "t0p $ ecret {0} {1}";
単一のパスワードの検証
この単純な復号化コード
1archiveloadoptions options = new archiveloadoptions();
2options.setDecryptionPassWord(パスワード);
3try(アーカイブa = new Archive( "necrypted.zip"、options))
4 A.ExtractTodirectory( "。");
アーカイブへのブルートフォース攻撃
したがって、パスワードを1つずつ作成してテストします。成功プログラムがある場合、プログラムは適切なパスワードをコンソールに印刷します。
1string template = "t0p $ ecret {0} {1}";
2for(char c = 'a'; c <'z'; c ++)
3{
4 boolean recort = false;
5 for(int i = 10; i <99; i ++)
6 {
7 文字列パスワード= messageformat.format(template、c、i);
8 archiveloadoptions options = new archiveloadoptions();
9 options.setDecryptionPassWord(パスワード);
10 try(アーカイブa = new Archive( "necrypted.zip"、options)){
11 A.ExtractTodirectory( "。");
12 正しい= true;
13 }
14 catch(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}