プロが教える店舗&オフィスのセキュリティ対策術

Zipで圧縮したファイルにパスワードを掛ける事が出来ますが、逆にパスワードを
掛けたZipファイルのパスワードを解析出来るソフトもあります。

人間がパスワードを解くときは、パスワードを入力するダイアログが出てきて、
それにいちいち手動でパスワードを入力するわけですが、解析するソフトは
入力するためのダイアログなんか出てこないのに辞書ファイルなんかを
駆使してパスワードを見つけてきますよね。

大まかな仕組みでいいのですが、いったいどうやってパスワードを
探しているのですか?

A 回答 (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=;
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

なるほどそういうことなのですね。

お礼日時:2005/10/22 16:19

DLLを利用しているか


そのソフトに自前のzip解凍のアルゴリズムを
持っているかでしょうね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/10/22 16:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!