Метафайл Windows (.wmf)

[MS-WMF]: Стандарт

Windows Metafile (WMF) - это устаревший 16-битный векторный и растровый контейнерный формат от Microsoft, разработанный в эпоху Windows 3.0 для обмена масштабируемой графикой и клипартами между приложениями Windows.

Конвертировать из WMF в SVG

Бесплатный конвертер из WMF в SVG прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы WMF по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы WMF по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

D7 CD C6 9A / 01 00 09 00

ПРЕДСТАВЛЕНИЕ ASCII: ×ÍÆš / ....

Стандартизация: [MS-WMF]: Спецификация формата метафайлов Windows

Технические спецификации

Архитектура контейнера16-битные записи метафайлов GDI, перед которыми опционально может идти 22-байтовый заголовок Aldus для размещения
СжатиеНесжатые 16-битные векторные и растровые команды рисования
Порядок байтов (Endianness)Обратный порядок байтов (Intel x86)
Цветовые пространстваRGB, зависящий от устройства
Каналы и структураВекторные пути, многоугольники, строки текста и встроенные 16-битные/24-битные растровые изображения DIB
Макс. габариты16-битное целочисленное пространство координат (от -32 768 до +32 767 единиц)
ПрозрачностьМаски прозрачности бинарных растровых операций (ROP2)
Потоковая передача и прогрессивная загрузкаПоследовательное воспроизведение записей напрямую в 16-битный Windows GDI

Техническая матрица сравнения: WMF против конкурентов

Технический атрибутWMF (Текущий)EMFSVGEPS
Пространство координат16-битное целое (от -32768 до 32767)32-битные целочисленные координатыЧисло с плавающей запятой двойной точности IEEEПункты PostScript (1/72 дюйма)
Операционная системаУстаревший 16-битный Windows GDI32-битный Windows GDI+Универсальный веб-стандарт W3CСтандарт допечатной подготовки PostScript
Поддержка современными браузерамиНулевая нативная поддержка браузерамиНулевая нативная поддержка браузерами100% нативная встроенная поддержка во всех браузерахНулевая нативная поддержка браузерами
Уровень безопасностиВысокий риск в устаревших нативных парсерахУмеренный риск в нативном GDIБезопасный декларативный XML (очищенный)Высокий риск (исполняемый язык)

Типичные режимы повреждения и руководство по восстановлению в HEX

Графика выглядит сильно искаженной или сжатой в микроскопическую точку.

Первопричина: Отсутствующий или поврежденный заголовок Aldus для размещения (отсутствует магический маркер 0xD7CDC69A и ограничивающая рамка).

Восстановление: Повторно внедрите стандартную ограничивающую рамку или перекодируйте в SVG с помощью метафайл-конвертера File2File.

Анализ безопасности и векторы атак на парсер

WMF - один из самых исторически уязвимых форматов в истории вычислительной техники из-за записей выполнения обратных вызовов GDI (SETABORTPROC).

Известные векторы атак

  • Выполнение произвольного кода через вызов записи SETABORTPROC в устаревшем Windows GDI.
  • Переполнение буфера при обработке поврежденных массивов точек 16-битных многоугольников.
  • Чтение из кучи за пределами выделенной памяти во время распаковки внедренного растрового изображения DIB.

Защитные лучшие практики: Никогда не парсите файлы WMF с помощью нативных API GDI операционной системы; выполняйте перекодирование строго внутри изолированных сред WebAssembly.

Исторические истоки и вехи

2006Microsoft выпускает экстренное исправление для критической уязвимости в Windows Metafile (CVE-2005-4560).
1993Сменен 32-битным форматом расширенного метафайла (EMF) с выходом Windows NT.
1990Представлен с Windows 3.0, быстро став стандартным форматом для клипартов настольных издательских систем.

Ключевые преимущества и плюсы

  • Компактное векторное хранилище: файлы клипартов из 1990-х обычно весят всего несколько килобайт.
  • Масштабируемые векторные фигуры и шрифты плавно масштабируются под разрешение ранних настольных принтеров.
  • Исторический стандарт, встроенный в миллионы устаревших документов и архивов Microsoft Office.

Технические ограничения и минусы

  • Серьезное устаревание: 16-битные целочисленные координаты ограничивают точность рисования по сравнению с современными векторными форматами.
  • Печально известная история безопасности: возможности выполнения устаревших записей WMF допускали критическое удаленное выполнение кода.
  • Отсутствие поддержки современных векторных функций, таких как градиенты, маски непрозрачности или стили CSS.

Интересные технические факты

  • Заголовок размещаемого Wmf начинается с магических байтов 0xD7 0xCD 0xC6 0x9A, изобретенных корпорацией Aldus для PageMaker.
  • Уязвимость записи 'SETABORTPROC' в 2005 году позволяла злоумышленникам выполнять произвольный код ассемблера просто при просмотре изображения пользователем в Проводнике Windows.
  • Миллионы коллекций клипартов на дискетах в 1990-х распространялись исключительно в формате .WMF.

Часто задаваемые технические вопросы

Что такое файл WMF?

WMF (Windows Metafile) - это устаревший векторный формат Microsoft, созданный в 1990 году для хранения клипартов и иллюстраций в Windows 3.0 и ранних версиях Microsoft Office.

Как я могу конвертировать WMF в SVG или PNG?

Вы можете безопасно конвертировать файлы WMF в современные масштабируемые векторные графические файлы SVG или изображения PNG с помощью File2File.app прямо в вашем веб-браузере.

Почему WMF в прошлом считался опасным?

В 2005 году была обнаружена критическая уязвимость, из-за которой файлы WMF могли вызывать выполнение обратных вызовов принтера, что позволяло вредоносным файлам заражать компьютеры просто при их просмотре.