はじめに

このアプリケーションは、パスワード付きzipファイルのパスワードを、総当たりで調べるためのプログラムです。

他人に見られないように、パスワードをつけて圧縮したzipファイルのパスワードを忘れたりしたときに、役に立つかもしれません。

しかし、自分がパスワードをつけたファイル以外のパスワードや、とても長いパスワードを見つけるのは、多分困難でしょう。なぜなら、総当たりにはそもそも非常に多くの組み合わせがあるからです。私が試してみた限りでは、はっきりいって9文字以上のパスワードがかけられていた場合はあきらめたほうがよいでしょう。

わたしの開発しているハードウェアは以下のようになっています。

以上のようなハードウェア環境で、次のようなOS環境上でテストを行ってみました。

  1. Microsoft Windows NT Workstation 4.0 Japanese + Service Pack 3 + IE4.01 Service Pack 1
  2. Microsoft Windows 98

すると、1では、秒間約60000、2では秒間約70000個のパスワードについて調べることができました。この調査からわかることは、

  1. Windows98は多少速い。
  2. 英小文字に限定しても数日で見つけるには8文字が限界。

1はどうでもよくて、問題は2です。これは、次のような計算を行ってみると明らかです。

1秒に100000個のパスワードがテストできるとしても、1週間で60x60x24x7x100000=60,480,000,000
英小文字8文字の組み合わせは、26^8=208,827,064,576

したがって、英小文字の8文字以内であることがわかっている場合でも、最悪で3週間強、平均でも10日以上かかる計算になります。最近のマシンは私のものほど貧弱ではないかもしれませんが (^^; 、それでもこのマシンの10倍の速度を出すのは不可能でしょう。26倍の速度が出たところで、やっとこのマシンよりも1文字多く調べることができる程度なので、ちょっと長くなるとすぐに無理になってしまいます。

したがって、このアプリケーションが使い物になるのは次のような条件の下にかぎられると思います。

しょせん総当たりならそんなものです。仮にソフトウェア的改良で100倍速くなっても探索可能文字は1文字増えるだけです。