TOP MAP UP

AZUCO ZIP file Splitter

何をするものか?

ダウンロードなどしたZIPが損傷している場合があるが、それを可能な限り救出するために、
ZIPファイルをばらばらにして、個別に解凍を試みることが出来るようにするもの。



主な動作原理

ZIPファイルは、先頭から順に
 PK34:一つのファイルを圧縮したデータ、これがファイル数分だけ存在する。
 PK12:PK34に対する補足データ。このPK12群をZIPファイルのTOCとして使う。
 PK56:PK12群がZIPファイルのどこから始まるかを記録したもの。TOCへのインデックスとなる。
となっている。

実はデータそのものとしては、PK34のチャンクが無事であれば、問題なく解凍は出来る。
しかし解凍ソフトによっては、破損データが見つかった場合、そこで動作を止めてしまう場合がある。
こういった「データそのもの(PK34)は無事なのに、他の都合で解凍できない」という場合を避けるため

このソフトでは
 元となるZIPからPK34ヘッダーを探し出し
 フォルダ付きの物はファイル名をフォルダ名をハイフンで連結し(フォルダ構成はそのまま保持)
 単一のZIPファイルとしてPK34を抜き出し
 かつPK12,PK56は完全独立で作成する(元データのそれらには左右されない)
という動作を行い
「PK34が無事であれば解凍可能な単独のZIPファイルを切り出す」という処理を行う。
(純粋にPK34をサーチするので、結果的に4GBオーバーのZIPファイルであっても扱える)



使い方

例によって例のごとく、コマンドプロンプトを開いて使う(win32 x64 console プログラム)

書式:
azs /option ZIPfile

オプションは以下のものがある
/i ZIPfileのPKxxの情報を表示する(自分で解析する時とかにどうぞ)
/g エクストラフィールドレングスを全て無視して、ゼロセットする

実行すると、カレントディレクトリに、どんどこ個別のZIPfileが出来る。
この時、作成されるファイル名は、ZIPファイル内に収められたフォルダ名をハイフンで連結し、最後に本来のファイル名、拡張子.ZIPとなる



プログラムとソースコード

DOWNLOAD : AZS r190716