00

結論から

  • CABは、複数のファイルをまとめてファイル境界を越えて圧縮するMicrosoftのアーカイブ形式で、分割されている場合は完全な展開に別のCABボリュームが必要になることがあります。
  • Windowsではコマンドプロンプトで`expand -d "archive.cab"`を実行し、内容を一覧表示します。保存先フォルダーを作成し、`expand "archive.cab" -f:* "C:\CAB-out"`で全ファイルを展開します。特定のファイルは`-f:ファイル名`で選択できます。Macやスマートフォンでは、説明にCAB対応が明記されたアーカイブアプリを使うか、Windowsで展開してファイルを転送してください。分割CABでは他のボリュームも用意してください。
  • 出所不明のCABは慎重に扱い、Windowsと閲覧ソフトを更新してください。MS10-019ではCVE-2010-0487が修正されました。この問題では、影響を受ける未修正のWindowsで細工された署名付きCABを開くと、任意のコードが実行される可能性がありました。すべてのCABがコードを実行するという意味ではなく、署名も閲覧ソフトの更新の代わりにはなりません。
01

CABファイルの識別・開き方・展開方法

通常の拡張子は.cabです。Windows Installerでは、MSIに埋め込むか、外部ファイルとして使用できます。構造はCFHEADER、CFFOLDER、CFFILE、CFDATAからなり、複数バイト整数はリトルエンディアンです。先頭のオフセット0にはMSCF、16進数では4D 53 43 46が入ります。規定のメジャーバージョンは1、マイナーバージョンは3です。

元ファイルは残す

CABをZIPに変換する場合は、まず内容を展開し、ZIP作成ツールでまとめ直します。必要な分割ボリュームをすべてそろえ、フォルダー構造を維持してください。expandの`-i`はフォルダー構造を無視します。Windows Installerはファイルキーと順序の対応を要求するため、再圧縮でそれらが変わるとインストールに支障が出る可能性があります。

02

開き方

Windowsではコマンドプロンプトで`expand -d "archive.cab"`を実行し、内容を一覧表示します。保存先フォルダーを作成し、`expand "archive.cab" -f:* "C:\CAB-out"`で全ファイルを展開します。特定のファイルは`-f:ファイル名`で選択できます。Macやスマートフォンでは、説明にCAB対応が明記されたアーカイブアプリを使うか、Windowsで展開してファイルを転送してください。分割CABでは他のボリュームも用意してください。

中身を見たいだけ

Windowsではコマンドプロンプトで`expand -d "archive.cab"`を実行し、内容を一覧表示します。保存先フォルダーを作成し、`expand "archive.cab" -f:* "C:\CAB-out"`で全ファイルを展開します。特定のファイルは`-f:ファイル名`で選択できます。Macやスマートフォンでは、説明にCAB対応が明記されたアーカイブアプリを使うか、Windowsで展開してファイルを転送してください。分割CABでは他のボリュームも用意してください。

誰かに送りたい

CABをZIPに変換する場合は、まず内容を展開し、ZIP作成ツールでまとめ直します。必要な分割ボリュームをすべてそろえ、フォルダー構造を維持してください。expandの`-i`はフォルダー構造を無視します。Windows Installerはファイルキーと順序の対応を要求するため、再圧縮でそれらが変わるとインストールに支障が出る可能性があります。

03

安全チェック

出所不明のCABは慎重に扱い、Windowsと閲覧ソフトを更新してください。MS10-019ではCVE-2010-0487が修正されました。この問題では、影響を受ける未修正のWindowsで細工された署名付きCABを開くと、任意のコードが実行される可能性がありました。すべてのCABがコードを実行するという意味ではなく、署名も閲覧ソフトの更新の代わりにはなりません。

こんなときは、いったん手を止める

送り主が分からない、拡張子が二重になっている、中身が拡張子と合わない——一つでも当てはまるなら、開く前に確かめてください。

04

変換するときは

CABをZIPに変換する場合は、まず内容を展開し、ZIP作成ツールでまとめ直します。必要な分割ボリュームをすべてそろえ、フォルダー構造を維持してください。expandの`-i`はフォルダー構造を無視します。Windows Installerはファイルキーと順序の対応を要求するため、再圧縮でそれらが変わるとインストールに支障が出る可能性があります。

変換する前に

元ファイルではなくコピーを変換し、変換後に画質・メタデータ・レイアウトを元と見比べてください。

05

よくある質問

CABファイルとは何ですか?

通常.cabの拡張子を持つMicrosoftの圧縮アーカイブです。複数のファイルをまとめ、ファイル境界を越えて圧縮できます。大きなファイルは複数のCABに分割される場合があります。

WindowsでCABファイルを開く方法は?

コマンドプロンプトで`expand -d "archive.cab"`を実行します。展開するには`C:\CAB-out`を作成し、`expand "archive.cab" -f:* "C:\CAB-out"`を実行してください。

MacでCABファイルを開く方法は?

説明にCAB対応が明記されたアーカイブアプリを使うか、Windowsのexpandで展開し、ファイルをMacに転送してください。

スマートフォンでCABファイルを開く方法は?

お使いのスマートフォンでのCAB対応が説明に明記されたアプリを選ぶか、Windowsで展開して必要なファイルを転送してください。

分割CABの不足で展開できない場合はどうすればよいですか?

同じアーカイブ一式の前後のCABボリュームを入手してください。大きなファイルは複数のCABにまたがるため、1つだけでは展開に必要なデータが足りない場合があります。

インストールにはCABとMSIのどちらを残すべきですか?

元のインストールパッケージと付属のCABをまとめて保存してください。CABは圧縮ファイルを格納し、MSIの内部または外部で使用されます。CABの展開だけではインストール全体の構成は保持できません。

CABをZIPに変換する方法とインストールへの影響は?

必要な全ボリュームを展開し、フォルダー構造を保ってZIPを作成します。ただし、ファイルキーや順序が変わるとWindows Installerの対応関係が崩れる可能性があり、同じようにインストールできる保証はありません。元のファイルを残してください。

署名付きCABファイルは安全ですか?

署名だけで安全とは判断できません。MS10-019では、影響を受けるWindows上で細工された署名付きCABに関係する過去の脆弱性が修正されています。閲覧ソフトを更新し、入手元も確認してください。

CABの内容を展開せずに一覧表示するには?

Windowsで`expand -d "archive.cab"`を実行します。`-d`は展開せずに一覧を表示するオプションです。`-f:ファイル名`で特定のファイルを選択できます。

MakecabでCABファイルを作成するには?

Windowsにはインストールパッケージ用のCABを作成するMakecab.exeが含まれます。Windows Installerで使う場合は、ファイルキーと順序をパッケージのFileテーブルの要件に合わせる必要があります。

06

関連する形式

参考資料

[MS-CAB]: Cabinet File Format · Microsoft 官方格式规范

Cabinet Files · Microsoft 官方文档

expand · Microsoft 官方命令文档

Microsoft Security Bulletin MS10-019 · Microsoft 官方安全公告