• ベストアンサー

Zipのパスワード解析はどうやって行ってるのですか?

Zipで圧縮したファイルにパスワードを掛ける事が出来ますが、逆にパスワードを 掛けたZipファイルのパスワードを解析出来るソフトもあります。 人間がパスワードを解くときは、パスワードを入力するダイアログが出てきて、 それにいちいち手動でパスワードを入力するわけですが、解析するソフトは 入力するためのダイアログなんか出てこないのに辞書ファイルなんかを 駆使してパスワードを見つけてきますよね。 大まかな仕組みでいいのですが、いったいどうやってパスワードを 探しているのですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • akanekor
  • ベストアンサー率52% (102/194)
回答No.2

UnZip32.dllだと内部の関数に int WINAPI UnZip( const HWND hWnd,LPCSTR szCmdLine, LPSTR szOutput,const DWORD dwSize); szCmdLine で指定するコマンドラインの形式 [-<command>] [[-<options>...] archive_file_name>[.ZIP][<directory_name>\] [[@<list_name>|<filespec>]...] こんなの持ってて で、optionsの指定の中に パスワード用の"-P$$$" が設定できるので、$$$を辞書ファイル参照していれるか、 ランダムで文字列作っていれる。 また、optionsの指定の中に 「-qd :UnZip() の返り値として、スキップしたファイル数を返す。」 があるので、これを設定してやれば、パスワードの誤りで 解凍出来かったかどうか判断できるので、 これが、0件になるまで、UnZip()コマンドをパスワード変えて実行し続ければ、 いつかは、解けるはず。 まあ、やった事ないのですが(=w=;

VitaminBB
質問者

お礼

回答ありがとうございます。 なるほどそういうことなのですね。

その他の回答 (1)

  • parapa
  • ベストアンサー率15% (42/273)
回答No.1

DLLを利用しているか そのソフトに自前のzip解凍のアルゴリズムを 持っているかでしょうね。

VitaminBB
質問者

お礼

回答ありがとうございます。 ちょっと大まかすぎですよね。

関連するQ&A