先看结论
- CAB 是 Microsoft 的压缩归档格式,可将多个文件放在同一归档中并跨文件边界压缩;分卷归档可能需要其他 CAB 分卷才能完整解压。
- 在 Windows 中打开命令提示符,先运行 `expand -d "archive.cab"` 查看文件列表。创建目标文件夹后,运行 `expand "archive.cab" -f:* "C:\CAB-out"` 提取全部文件;用 `-f:文件名` 选择特定文件。在 Mac 或手机上,请选择说明中明确支持 CAB 的归档应用,或在 Windows 上解压后传输文件。处理分卷 CAB 时,应同时备齐同一归档的其他分卷。
- 对来源不明的 CAB 应谨慎处理,并保持 Windows 和查看器更新。Microsoft 的 MS10-019 修复了 CVE-2010-0487:在受影响且未修补的 Windows 上,打开特制的已签名 CAB 可能执行任意代码。这一历史漏洞不代表所有 CAB 都会执行代码,数字签名也不能替代查看器更新。
CAB 文件:识别、打开与解压
CAB 通常使用 .cab 扩展名,可用于 Windows Installer,既可以嵌入 MSI,也可以作为外部文件存在。格式结构包括 CFHEADER 文件头、CFFOLDER 条目、CFFILE 条目和 CFDATA 数据块,多字节整数使用小端字节序。偏移 0 的四个字节为 4D 53 43 46,对应 ASCII 字符 MSCF;规范规定主版本为 1、次版本为 3。
CAB 转 ZIP 的一般路径是先解压,再用 ZIP 工具重新打包。先备齐所需分卷,并保留目录结构;expand 的 `-i` 参数会忽略目录结构。重新打包不保证保留安装用途:Microsoft 要求 CAB 内的文件键和文件顺序与 Windows Installer 对应,改变这些关系可能导致安装异常,因此应保留原始安装文件。
怎么打开
在 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` 参数会忽略目录结构。重新打包不保证保留安装用途:Microsoft 要求 CAB 内的文件键和文件顺序与 Windows Installer 对应,改变这些关系可能导致安装异常,因此应保留原始安装文件。
文件安全
对来源不明的 CAB 应谨慎处理,并保持 Windows 和查看器更新。Microsoft 的 MS10-019 修复了 CVE-2010-0487:在受影响且未修补的 Windows 上,打开特制的已签名 CAB 可能执行任意代码。这一历史漏洞不代表所有 CAB 都会执行代码,数字签名也不能替代查看器更新。
来路不明、文件名带两个后缀,或者内容和扩展名对不上——先停下来核对。
转换格式
CAB 转 ZIP 的一般路径是先解压,再用 ZIP 工具重新打包。先备齐所需分卷,并保留目录结构;expand 的 `-i` 参数会忽略目录结构。重新打包不保证保留安装用途:Microsoft 要求 CAB 内的文件键和文件顺序与 Windows Installer 对应,改变这些关系可能导致安装异常,因此应保留原始安装文件。
先复制一份原文件再转换,转完对照看看画质、元数据和排版有没有变。
常见问题
CAB 文件是什么格式?
CAB 是 Microsoft 的压缩归档格式,通常以 .cab 结尾。它能容纳多个文件并跨文件边界压缩,大型文件也可以跨多个 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 未必包含完整数据,因此不能仅凭一个分卷提取失败就认定整个归档已损坏。
安装时应该保留 CAB 还是 MSI?
应保留原始安装包及其配套 CAB。CAB 用于存放压缩文件,Windows Installer 可使用 MSI 内嵌或外部的 CAB;只解压 CAB 并不能保留完整的安装安排。
CAB 转 ZIP 会丢失哪些信息?
先备齐分卷、解压并保留目录,再创建 ZIP。转换不保证保留安装对应关系:文件键或排列顺序改变可能影响 Windows Installer。expand 的 `-i` 还会忽略目录结构,应保留原始安装文件。
已签名 CAB 文件安全吗?
有签名也不代表文件一定安全。MS10-019 曾修复特制已签名 CAB 在受影响 Windows 上的历史漏洞。应保持查看器更新并核实来源,也不能据此认为所有 CAB 都会执行代码。
CAB 文件怎么查看里面的内容而不解压?
在 Windows 中运行 `expand -d "archive.cab"`。`-d` 只显示文件列表,不提取内容;需要选择特定文件时可使用 `-f:文件名`。
如何使用 Makecab 创建 CAB 文件?
Windows 包含 Makecab.exe,可创建供安装包使用的 CAB。若用于 Windows Installer,归档内的文件键和顺序需要符合安装包 File 表的对应要求。
相关格式
资料来源
[MS-CAB]: Cabinet File Format · Microsoft 官方格式规范
Cabinet Files · Microsoft 官方文档
expand · Microsoft 官方命令文档
Microsoft Security Bulletin MS10-019 · Microsoft 官方安全公告