Apple 磁碟映像檔 (.dmg)

Apple 標準

Apple 磁碟映像檔 (DMG) 是 macOS 的原生虛擬磁碟格式,被廣泛視為 Mac 應用程式的標準數位軟體散布容器,並具備互動式拖放安裝程式。

檢查與中繼資料

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 DMG 檔案:

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V
零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

位元組層級標頭簽章(檔案簽章)

作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 DMG 檔案:

十六進位簽章(偏移量 -512):

6B 6F 6C 79

ASCII 表示法: 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 (目前)ISOVHDPKG
目標作業系統macOS 專屬原生掛載開啟支援因作業系統而異。Windows 原生虛擬磁碟macOS 安裝程式套件
內部檔案系統Apple HFS+ 或 APFSISO 9660 / UDFNTFS / 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 支援取決於作業系統與映像檔內容。