Apple 磁碟映像檔 (.dmg)
Apple 標準Apple 磁碟映像檔 (DMG) 是 macOS 的原生虛擬磁碟格式,被廣泛視為 Mac 應用程式的標準數位軟體散布容器,並具備互動式拖放安裝程式。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 DMG 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 DMG 檔案:
十六進位簽章(偏移量 -512):
6B 6F 6C 79ASCII 表示法: koly
標準化: Apple 通用磁碟映像格式 (UDIF)
技術規格
| 容器架構 | 通用磁碟映像格式 (UDIF),包含 XML 屬性列表結尾與位於檔案結尾的 512 位元組 'koly' 區塊 |
| 壓縮 | ADC (Apple Data Compression)、zlib (UDZO)、bzip2 (UDBZ) 或 LZMA (ULMO) |
| 位元組序 | 大端序(Big-Endian)結尾整數 |
| 色彩空間 | 不適用(檔案系統磁碟容器) |
| 色版與結構 | 完整的 HFS+、HFSX 或 APFS 檔案系統,包含磁碟區圖示與自訂 Finder 背景美術圖案 |
| 最大尺寸 | 實際上無限制(支援多 TB 的虛擬磁碟) |
| 透明度 | 無 |
| 串流與漸進式 | 區塊層級分塊支援透過 HTTP 進行掛載,無需下載整個檔案 |
技術比較矩陣:DMG 對比競爭格式
| 技術屬性 | DMG (目前) | ISO | VHD | PKG |
|---|---|---|---|---|
| 目標作業系統 | macOS 專屬原生掛載 | 開啟支援因作業系統而異。 | Windows 原生虛擬磁碟 | macOS 安裝程式套件 |
| 內部檔案系統 | Apple HFS+ 或 APFS | ISO 9660 / UDF | NTFS / FAT32 | 封存檔酬載(cpio/xar) |
| 簽章位置 | 檔案結尾的結尾區塊(「koly」) | 第 16 個磁區標頭(「CD001」) | 結尾區塊(「conectix」) | 標頭簽章 |
| 壓縮 | 內建(zlib、bzip2、LZMA) | 未壓縮的原始磁區 | 僅限動態配置 | Gzip / XZ 酬載壓縮 |
常見損壞模式與十六進位修復指南
macOS 錯誤:「The following disk images couldn't be opened: image not recognized」。
根本原因: 下載在寫入最後 512 位元組的「koly」結尾區塊之前遭到中斷。
修復: 使用 7-Zip 擷取部分內容,或使用 File2File.app DMG 工具重建結尾區塊。
安全性分析與解析器攻擊向量
使用者自動掛載的 DMG 檔案可能會攜帶未簽章的惡意軟體或具欺騙性的拖放安裝程式伎倆。
已知攻擊向量
- 透過攜帶惡意應用程式套件的未簽章 DMG 映像檔繞過 Gatekeeper。
- 在損毀的 UDIF 區塊解壓縮期間,macOS DiskImages 架構中的緩衝區溢位。
- 誘騙使用者安裝木馬程式的偽造 Finder 背景圖片。
防禦最佳實務: 掛載 DMG 檔案之前,務必先驗證 Apple Developer ID 程式碼簽章與公證票券。
歷史起源與里程碑
2017Apple 在現代 DMG 映像檔內導入 APFS (Apple File System) 檔案系統支援。
2007Mac OS X Leopard 為 DMG 容器導入開發者程式碼簽署驗證。
2001Apple 隨著 Mac OS X 10.0 Cheetah 的推出,導入通用磁碟映像格式 (UDIF)。
主要優勢與優點
- 廣泛使用的 macOS 應用程式散布格式:按兩下磁碟映像檔即可將其掛載至 Finder 中。
- 自訂視覺呈現:開發人員可以設計自訂的 Finder 安裝程式視窗,並帶有品牌背景。
- 內建經密碼學驗證的檢查碼(SHA-256)以及選用的 AES-128 / AES-256 加密。
技術限制與缺點
- Mac 專用格式:若沒有 7-Zip 或 dmg2img 等第三方工具,無法在 Windows 或 Linux 上原生掛載。
- 結尾結構:關鍵的 512 位元組「koly」索引區塊位於檔案的最末端,導致未完成下載的檔案無法開啟。
- 不支援 iOS 或 iPadOS。
有趣的技術冷知識
- 每個有效現代 DMG 檔案結尾處的 512 位元組結尾區塊,開頭一律是 ASCII 檔案簽章字元「koly」。
- 將應用程式拖曳到「應用程式」資料夾的拖放安裝程式視窗,實際上是儲存在 DMG 內部的自訂 Finder 檢視畫面。
- 建立 DMG 檔案時可加上密碼保護,在 Mac 上建立加密的安全虛擬保險箱。
常見技術問題
我可以在 Windows 上開啟 DMG 檔案嗎?
Windows 無法將 DMG 檔案掛載為虛擬磁碟,但您可以使用 7-Zip 解壓縮其內容,或直接在網頁瀏覽器中使用 File2File.app 將其轉換為 ISO。
Mac 上的 DMG 檔案是什麼?
DMG 檔案是 Mac 電腦上用來散布軟體的虛擬磁碟映像檔。按兩下它會在您的桌面開啟包含應用程式安裝程式的虛擬磁碟機。
如何將 DMG 轉換為 ISO?
可以。File2File.app 可以在您的瀏覽器中將 DMG 轉換為 ISO。ISO 支援取決於作業系統與映像檔內容。