Windows 中繼檔 (.wmf)
[MS-WMF]: 標準Windows Metafile (WMF) 是微軟的傳統 16 位元向量與點陣容器格式,於 Windows 3.0 時代設計,用於在 Windows 應用程式之間共用可縮放的美工圖案與圖形。
將 WMF 轉換為 SVG
免費的瀏覽器端 WMF 轉 SVG 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 WMF 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 WMF 檔案:
十六進位簽章(偏移量 0):
D7 CD C6 9A / 01 00 09 00ASCII 表示法: ×ÍÆš / ....
標準化: [MS-WMF]: Windows Metafile Format Specification
技術規格
| 容器架構 | 16 位元 GDI 中繼檔記錄,選擇性地在前方加上 22 位元組的 Aldus 可置入標頭 |
| 壓縮 | 未壓縮的 16 位元向量與點陣繪圖指令記錄 |
| 位元組序 | 小端序(Intel x86) |
| 色彩空間 | 裝置相依 RGB |
| 色版與結構 | 向量路徑、多邊形、文字字串,以及內嵌的 16 位元或 24 位元 DIB 點陣圖 |
| 最大尺寸 | 16 位元整數座標空間(-32,768 至 +32,767 單位) |
| 透明度 | 二進位點陣運算(ROP2)透明度遮罩 |
| 串流與漸進式 | 依序播放記錄,直接送入 16 位元 Windows GDI |
技術比較矩陣:WMF 對比競爭格式
| 技術屬性 | WMF (目前) | EMF | SVG | EPS |
|---|---|---|---|---|
| 座標空間 | 16 位元整數(-32768 至 32767) | 32 位元整數座標 | IEEE 雙精度浮點數 | 1/72 英吋 PostScript 點 |
| 作業系統 | 舊版 16 位元 Windows GDI | 32 位元 Windows GDI+ | 支援情況因軟體而異。 | PostScript 印前標準 |
| 現代瀏覽器支援 | 零原生瀏覽器支援 | 零原生瀏覽器支援 | 相容性因瀏覽器與應用程式而異。 | 零原生瀏覽器支援 |
| 安全性態勢 | 舊版原生解析器風險高 | 原生 GDI 風險中等 | 安全的宣告式 XML(已清理) | 高風險(可執行語言) |
常見損壞模式與十六進位修復指南
圖形顯得嚴重變形,或縮成一個微小的點。
根本原因: 缺少或損壞的 Aldus 可放置標頭(缺少 0xD7CDC69A 檔案簽章標記與邊界框)。
修復: 重新注入標準可放置邊界框,或使用 File2File.app Metafile 轉換器轉碼為 SVG。
安全性分析與解析器攻擊向量
由於 GDI 回呼執行記錄(SETABORTPROC),WMF 是電腦發展史上最容易遭受攻擊的格式之一。
已知攻擊向量
- 透過舊版 Windows GDI 中的 SETABORTPROC 記錄呼叫來執行任意程式碼。
- 處理損壞的 16 位元多邊形點陣列時發生緩衝區溢位。
- 在嵌入式 DIB 點陣圖解壓縮期間發生超出範圍的堆積讀取。
防禦最佳實務: 切勿使用原生作業系統 GDI API 解析 WMF 檔案;請嚴格在隔離的 WebAssembly 環境中進行轉碼。
歷史起源與里程碑
2006微軟針對重大 Windows Metafile 弱點(CVE-2005-4560)發布緊急修補程式。
1993隨著 Windows NT 推出,由 32 位元 Enhanced Metafile (EMF) 格式接替。
1990隨 Windows 3.0 推出,迅速成為桌面出版美工圖案的標準格式。
主要優勢與優點
- 精簡的向量儲存:1990 年代的傳統美工圖案檔案通常只有幾 KB。
- 可縮放的向量圖形與字型能夠平滑地縮放到早期桌面印表機解析度。
- 歷史標準,內嵌於數百萬個舊版 Microsoft Office 文件與封存檔中。
技術限制與缺點
- 嚴重過時:與現代向量格式相比,16 位元整數座標限制了繪圖精度。
- 惡名昭彰的安全歷史:舊版的 WMF 記錄執行能力允許嚴重的遠端程式碼執行。
- 不支援現代向量功能,例如漸層、不透明度遮罩或 CSS 樣式。
有趣的技術冷知識
- 可放置的 WMF 標頭以檔案簽章(magic bytes)0xD7 0xCD 0xC6 0x9A 開頭,這是由 Aldus Corporation 為 PageMaker 發明的。
- 2005 年的「SETABORTPROC」記錄漏洞允許攻擊者僅透過讓使用者在 Windows 檔案總管中檢視圖片,就能執行任意組合語言程式碼。
- 1990 年代的數百萬張磁片美工圖案收藏皆專門以 .WMF 格式散布。
常見技術問題
什麼是 WMF 檔案?
WMF(Windows Metafile)是微軟於 1990 年建立的舊版微軟向量格式,用於在 Windows 3.0 與早期微軟 Office 版本中儲存美工圖案與插圖。
如何將 WMF 轉換為 SVG 或 PNG?
您可以直接在網頁瀏覽器中使用 File2File.app,安全地將 WMF 檔案轉換為現代的、可縮放的 SVG 向量圖形或 PNG 圖片。
為什麼 WMF 過去被認為很危險?
在 2005 年,人們發現了一個嚴重漏洞:WMF 檔案會觸發可執行的印表機回呼,讓惡意檔案僅透過檢視即可感染電腦。