Windows 图元文件 (.wmf)

[MS-WMF]: 标准

Windows 图元文件(WMF)是微软传统的 16 位矢量和栅格容器格式,在 Windows 3.0 时代设计,用于在 Windows 应用程序之间共享可缩放的剪贴画和图形。

将 WMF 转换为 SVG

免费的浏览器端 WMF 转 SVG 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 WMF 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 WMF 文件:

十六进制签名 (偏移量 0):

D7 CD C6 9A / 01 00 09 00

ASCII 表示形式: ×ÍÆš / ....

标准化: [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 (当前)EMFSVGEPS
坐标空间16 位整数(-32768 到 32767)32 位整数坐标IEEE 双精度浮点数1/72 英寸 PostScript 点
操作系统传统 16 位 Windows GDI32 位 Windows GDI+W3C 通用网络标准PostScript 印前标准
现代浏览器支持零原生浏览器支持零原生浏览器支持所有浏览器中 100% 原生内联零原生浏览器支持
安全态势传统原生解析器中的高风险原生 GDI 中的中等风险安全的声明性 XML(经过消毒)高风险(可执行语言)

常见损坏模式与十六进制恢复指南

图形显示严重扭曲或收缩成微小的点。

根本原因: 缺少或损坏的 Aldus 可放置头部(缺少 0xD7CDC69A 魔术标记和边界框)。

恢复方法: 重新注入标准可放置边界框,或使用 File2File 图元文件转换器转码为 SVG。

安全分析与解析器攻击向量

由于 GDI 回调执行记录(SETABORTPROC),WMF 是计算史上历史上最容易受到攻击的格式之一。

已知攻击向量

  • 通过传统 Windows GDI 中的 SETABORTPROC 记录调用执行任意代码。
  • 处理损坏的 16 位多边形点数组时发生缓冲区溢出。
  • 在嵌入式 DIB 位图解压期间发生越界堆读取。

防御性最佳实践:

历史渊源与里程碑

2006微软针对严重的 Windows 图元文件漏洞(CVE-2005-4560)发布紧急补丁。
1993随着 Windows NT 的发布,被 32 位的增强图元文件(EMF)格式所取代。
1990随 Windows 3.0 一同推出,迅速成为桌面出版剪贴画的标准格式。

核心优势与特点

  • 紧凑的矢量存储:传统的 1990 年代剪贴画文件通常只有几千字节大小。
  • 可缩放的矢量形状和字体能够平滑缩放到早期桌面打印机的分辨率。
  • 嵌入在数百万个旧版 Microsoft Office 文档和档案中的历史标准。

技术局限与劣势

  • 严重过时:与现代矢量格式相比,16 位整数坐标限制了绘制精度。
  • 恶劣的安全历史:传统的 WMF 记录执行功能允许关键的远程代码执行。
  • 不支持渐变、不透明度遮罩或 CSS 样式等现代矢量特性。

趣味技术冷知识

  • 可放置的 WMF 头部以魔术字节 0xD7 0xCD 0xC6 0x9A 开头,这是由 Aldus Corporation 为 PageMaker 发明的。
  • 2005 年的"SETABORTPROC"记录漏洞允许攻击者只需让用户在 Windows 资源管理器中查看图片,就能执行任意汇编代码。
  • 1990 年代的数百万张软盘剪贴画收藏完全以 .WMF 格式分发。

常见技术问题

什么是 WMF 文件?

WMF (Windows Metafile) 是微软于 1990 年创建的传统 Windows 矢量格式,用于在 Windows 3.0 和早期微软 Office 版本中存储剪贴画和插图。

如何将 WMF 转换为 SVG 或 PNG?

你可以直接在网页浏览器中使用 File2File.app,安全地将 WMF 文件转换为现代、可缩放的 SVG 矢量图或 PNG 图像。

为什么过去 WMF 被认为具有危险性?

在 2005 年,人们发现了一个严重漏洞:WMF 文件能够触发可执行的打印机回调,导致恶意文件只需被查看就能感染计算机。