Windows メタファイル (.wmf)
[MS-WMF]: 標準Windows Metafile (WMF) は、Windows 3.0の時代にWindowsアプリケーション間でスケーラブルなクリップアートやグラフィックスを共有するために設計された、Microsoftのレガシーな16ビットベクターおよびラスターコンテナフォーマットです。
WMF を SVG に変換
無料のブラウザ内 WMF から SVG へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで WMF ファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで WMF ファイルを識別します:
16進数シグネチャ (オフセット 0):
D7 CD C6 9A / 01 00 09 00ASCII表現: ×ÍÆš / ....
標準化: [MS-WMF]: Windows Metafile Format Specification
技術仕様
| コンテナアーキテクチャ | 16-bit GDI metafile records optionally preceded by a 22-byte Aldus placeable header |
| 圧縮 | Uncompressed 16-bit vector and raster drawing command records |
| バイトエンディアン | Little-Endian (Intel x86) |
| 色空間 | Device Dependent RGB |
| チャンネルと構造 | Vector paths, polygons, text strings, and embedded 16-bit/24-bit DIB bitmaps |
| 最大寸法 | 16-bit integer coordinate space (-32,768 to +32,767 units) |
| 透過性 | Binary raster operation (ROP2) transparency masks |
| ストリーミングとプログレッシブ | Sequential record playback directly into 16-bit Windows GDI |
技術比較マトリックス: WMF 対 競合製品
| 技術属性 | WMF (現在) | EMF | SVG | EPS |
|---|---|---|---|---|
| 座標空間 | 16ビット整数(-32768 ~ 32767) | 32ビット整数座標 | IEEE倍精度浮動小数点数 | 1/72インチPostScriptポイント |
| オペレーティングシステム | レガシー16ビットWindows GDI | 32ビットWindows GDI+ | W3CユニバーサルWeb標準 | PostScriptプリプレス標準 |
| 最新ブラウザのサポート | ネイティブブラウザサポートはゼロ | ネイティブブラウザサポートはゼロ | すべてのブラウザで100%ネイティブインライン | ネイティブブラウザサポートはゼロ |
| セキュリティ体制 | レガシーネイティブパーサーにおける高リスク | ネイティブGDIにおける中リスク | 安全な宣言型XML(サニタイズ済み) | 高リスク(実行可能言語) |
一般的な破損モードと16進数リカバリガイド
グラフィックがひどく歪むか、顕微鏡的な点に潰れて表示される。
根本原因: Aldus配置可能ヘッダーが欠落しているか破損している(0xD7CDC69Aマジックマーカーとバウンディングボックスの欠落)。
復旧: 標準の配置可能バウンディングボックスを再挿入するか、File2File Metafile Converterを使用してSVGにトランスコードします。
セキュリティ分析とパーサー攻撃ベクトル
WMFは、GDIコールバック実行レコード(SETABORTPROC)のため、コンピューティングの歴史において最も脆弱なフォーマットの1つです。
既知の攻撃ベクター
- レガシーWindows GDIにおけるSETABORTPROCレコードの呼び出しを通じた任意のコード実行。
- 破損した16ビットポリゴン点配列を処理する際のバッファオーバーフロー。
- 埋め込まれたDIBビットマップの解凍中の範囲外ヒープ読み取り。
防御的ベストプラクティス:
歴史的背景とマイルストーン
主な利点とメリット
- コンパクトなベクターストレージ:1990年代のレガシーなクリップアートファイルは、通常わずか数キロバイトのサイズです。
- スケーラブルなベクターシェイプとフォントが、初期のデスクトッププリンターの解像度に合わせて滑らかに拡大縮小します。
- 何百万ものレガシーなMicrosoft Office文書やアーカイブに埋め込まれてきた歴史的な標準。
技術的な制限とデメリット
- 深刻な陳腐化:16ビットの整数座標により、現代のベクターフォーマットと比較して描画精度が制限されます。
- 悪名高いセキュリティの歴史:レガシーなWMFレコードの実行機能により、重大なリモートコード実行が可能でした。
- グラデーション、不透明度マスク、CSSスタイリングなどの現代的なベクター機能のサポートがありません。
興味深い技術トリビア
- 配置可能なWMFヘッダーはマジックバイト 0xD7 0xCD 0xC6 0x9A で始まります。これはPageMakerのためにAldus Corporationによって発明されました。
- 2005年の「SETABORTPROC」レコードの脆弱性により、ユーザーがWindowsエクスプローラーで画像を表示するだけで、攻撃者が任意のコードを実行できるようになりました。
- 1990年代の数百万枚ものフロッピーディスクのクリップアートコレクションは、.WMFフォーマットでのみ配布されていました。
よくある技術的な質問
WMFファイルとは何ですか?
WMF (Windows Metafile) は、Windows 3.0や初期のMicrosoft Officeのバージョンでクリップアートやイラストを保存するために1990年に作成されたレガシーなマイクロソフトのベクター形式です。
WMFをSVGやPNGに変換するにはどうすればよいですか?
File2File.appを使用すれば、ウェブブラウザ上で直接、安全にWMFファイルをモダンでスケーラブルなSVGベクターグラフィックスやPNG画像に変換できます。
過去にWMFが危険視されていたのはなぜですか?
2005年に、WMFファイルが実行可能なプリンターコールバックをトリガーし、悪意のあるファイルを閲覧するだけでコンピュータが感染してしまう重大な脆弱性が発見されました。