ZIP書庫 (.zip)
PKWARE 標準ZIPは可逆データ圧縮をサポートするアーカイブファイル形式であり、複数のファイルやディレクトリを単一の持ち運び可能なコンテナにパッケージ化できます。
ZIP を TAR に変換
無料のブラウザ内 ZIP から TAR へのコンバーター。お使いのデバイスでファイルを即座に変換します。
ZIPをオンラインで圧縮
プライベート - ファイルがデバイスの外に出ることはありません
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してZIPファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してZIPファイルを識別します:
16進数シグネチャ(オフセット0):
50 4B 03 04ASCII表現: PK..
標準化: PKWARE APPNOTE / ISO/IEC 21320-1
技術仕様
| コンテナアーキテクチャ | 個別の圧縮ヘッダーを持つ複数のファイルを結合したアーカイブコンテナ |
| 圧縮 | Deflate (方式 8)、Store (方式 0)、BZIP2、LZMA、Zstandard |
| バイトエンディアン | すべてのシグネチャヘッダー、CRC32チェック、サイズにおいてリトルエンディアンを採用 |
| 色空間 | 該当なし (任意のファイルのバイナリコンテナ) |
| チャンネルと構造 | 階層型ディレクトリ構造、メタデータストリーム、ファイルチェックサム |
| 最大寸法 | 標準ZIP: 4 GB / 65,535 ファイル; ZIP64: 16エクサバイト / 1,800京ファイル |
| 透過性 | 該当なし |
| ストリーミングとプログレッシブ | ファイル末尾にあるセントラルディレクトリにより、解凍なしで即時のファイル一覧表示が可能 |
技術比較表:ZIPと競合製品
| 技術属性 | ZIP (現在) | 7-Zip (7z) | TAR.GZ | RAR |
|---|---|---|---|---|
| OS との互換性 | ZIP の標準機能は OS やバージョンによって異なります。多くのシステムには対応ツールが含まれています。 | 7-Zipまたはサードパーティ製アプリが必要 | Linux/macOSではネイティブ対応、Windowsではツールが必要 | WinRARまたはunrarライブラリが必要 |
| 圧縮効率 | 中程度 (Deflateアルゴリズム) | 非常に高い (LZMA/LZMA2アルゴリズム) | 中程度 (tarに対するDeflate) | 高い (RAR独自の圧縮) |
| ソリッド圧縮 | なし (各ファイルを独立して圧縮) | あり (ソリッドブロックにより重複テキストの圧縮率が向上) | あり (tarball全体を圧縮) | あり (オプションのソリッドモード) |
| 選択的抽出 | 任意の単一ファイルを高速かつ瞬時に抽出 | 先行するソリッドブロックの解凍が必要 | ターゲットファイルまでストリームを解凍する必要がある | 非ソリッドの場合は高速 |
一般的な破損モードと16進数リカバリガイド
アーカイブユーティリティが「End-of-central-directory signature not found」または無効なアーカイブであると報告する。
根本原因: セントラルディレクトリレコードを含む最後のバイトが欠落した、途中で切断されたダウンロード。
復旧: 'zip -FF damaged.zip --out fixed.zip' を使用して最初からローカルファイルヘッダーをスキャンし、新しいセントラルディレクトリを再構築する。
セキュリティ分析とパーサー攻撃ベクトル
ZIPのセキュリティは、Zip Slipパストラバーサル脆弱性と解凍爆弾に集中しています。
既知の攻撃ベクター
- Zip Slip: ターゲットの抽出ディレクトリから抜け出す '../../' パストラバーサルを含む悪意のあるファイル名。
- Zip Bomb: ペタバイトのゼロに展開される小さなアーカイブ (例: 4.5 PBに展開される 42 KBの 42.zip)。ディスクとメモリの枯渇によりサーバーをクラッシュさせます。
- 数分で暗号文のみからの鍵回復を可能にする、レガシーなZipCrypto暗号化の脆弱性。
防御的ベストプラクティス: 抽出されたファイルパスがターゲットフォルダ内に確実にとどまるよう、常にパスをサニタイズしてください。信頼できないアップロードファイルを解凍する際は、最大バイト数とファイル数の制限を厳格に設定してください。WinZip AES-256暗号化を使用してください。
歴史的背景とマイルストーン
主なメリット
- サードパーティ製ソフトウェアを追加インストールしなくても、世界中のすべてのオペレーティングシステムで標準対応しています。
- アーカイブの末尾に配置されたセントラルディレクトリにより、解凍せずに即座にファイルの一覧表示が可能です。
- アーカイブ全体を解凍することなく、必要なファイルだけを選んで抽出できます。
技術的な制限とデメリット
- プラットフォーム間でUNIXのファイルパーミッションやシンボリックリンクを信頼性高く保存できません。
- 非ソリッドアーカイブであるため、類似ファイルの大量コレクションに対しては 7zやtar.xz よりも圧縮率が低くなります。
- 標準のレガシーなZipCrypto暗号化は暗号学的に破られています (AES-256が必須です)。
興味深い技術トリビア
- ZIPファイルヘッダーの「PK」は、PKZIPの考案者であるPhil Katzの名前の頭文字に由来しています。
- APK、JAR、DOCX、EPUB など、一般的な形式のいくつかは ZIP コンテナーを使います。
- ZIPはローカルファイルヘッダーの前やセントラルディレクトリの後ろにデータを追加できるため、画像、JAR、実行ファイルとしても同時に機能するポリグロットファイルの好ましいコンテナとなっています。
よくある技術的な質問
ZIPと7Zの違いは何ですか?
ZIPは追加のソフトウェアをインストールしなくても、すべてのオペレーティングシステムで利用できます。7Zは最新のLZMA/LZMA2アルゴリズムとソリッド圧縮を使用しており、30%〜50%高い圧縮率を実現しますが、古いシステムで開くにはサードパーティ製ソフトウェアが必要です。
ZIPファイルの内容表示が速いのはなぜですか?
ZIPはファイルの末尾に「セントラルディレクトリ」を格納します。ソフトウェアは最後の数キロバイトを読み取るだけで、ファイルを解凍せずにディレクトリツリー全体とファイル名を即座に表示できます。
暗号化されたZIPファイルは簡単に解読できますか?
レガシーなZIP暗号化 (ZipCrypto) は脆弱な96ビット鍵ストリーム暗号を使用しており、bkcrackなどの既知平文攻撃ツールを使用すると数分で解読される可能性があります。最新のアーカイブでは、暗号学的セキュリティを保証するためにWinZip AES-256暗号化を使用する必要があります。
関連するZIP変換ペア
ZIPアーカイブからTARアーカイブへの変換では、圧縮されたファイルコンテナをUnix環境に適した非圧縮のテープアーカイブ形式に変換します。
TARアーカイブからZIPアーカイブへの変換では、非圧縮のUnixコンテナを広く利用されている圧縮ファイル形式に変換します。
ZIPを7zに変換すると、異なる圧縮オプションでアーカイブを再パッケージ化します。ファイルや設定によって、変換後のサイズは小さくも大きくもなります。
7zをZIPに変換すると、ZIP対応ソフトウェアでアーカイブを開きやすくなることがあります。圧縮率はファイルの種類や設定によって異なります。
ソリッド形式を含む単一ボリュームのRAR4/RAR5アーカイブをブラウザー内で解凍し、サーバーにアップロードせずに標準のZIPファイルへ変換できます。