私圧縮パスワードを忘れて開けないファイルです。このパスワードの一部の内容はかなり確信していますが、パスワードに追加されたバリエーションは覚えていません。頑張った亀裂圧縮パッケージしかし、パスワードの一部を知っていることをどのように見せるべきかわかりません。結論として:
- 私は 'のようなパスワードの一部を知っています。こんにちは「、」世界「そして」悪いパス」。
- 部品は順序に関係なく配置できますが、すべて使用することはできません。
- 小文字3~5文字など、若干の細かい部分が追加されている場合があります。
これを行うことができるソフトウェアをご存知ですか?
答え1
方法の概要:
このようなユーティリティを使用してください
crunch
カスタム辞書ファイルを作成します。fcrackzip
このカスタム辞書を使用して実行します。
質問:
最大3つの文字列と3〜5個の小文字を混在させることで、1兆個以上のパスワードを作成できます。辞書の作成には時間がかかります。
crunch
文字ベースのワイルドカードは許可されていますが、カスタム文字列の処理に柔軟性がありません。この問題を解決するには、、grep
も必要sed
なsort
ようです。どちらにも必要な時間が追加されます(例:数時間、多分数日…)。
次のように動作します。
crunch 3 9 abcdefghijklmnopqrstuvwxyz123 | \
grep '[123]' | # at least one number per dict entry
egrep -v '([123]).*\1' | # remove repeated numbers
sed 's/1/hello/;s/2/world/;s/3/shittypass/' | # replace numbers with strings
sort -u | \
fcrackzip -D -p /dev/stdin foo.zip
小さな問題セットを含むテストケース(順序に関係なく1つまたは2つの文字列、最大2つの小文字):
echo foo > bar.txt # file to archive
zip -P xhellobworld baz bar.txt # archive with password
time crunch 2 4 abcdefghijklmnopqrstuvwxyz12 | \
grep '[12]' | egrep -v '([12]).*\1' | \
sed 's/1/hello/;s/2/world/' | \
sort -n | fcrackzip -u -D -p /dev/stdin baz.zip
出力:
Crunch will now generate the following amount of data: 3163440 bytes
3 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 637392
PASSWORD FOUND!!!!: pw == xhellobworld
real 0m5.942s
user 0m2.240s
sys 0m1.040s