Windows Metafile (.wmf)

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

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

Конвертиране от WMF към SVG

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

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

HEX ПОДПИС (ОФСЕТ 0):

D7 CD C6 9A / 01 00 09 00

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

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

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

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

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

Технически атрибутWMF (Текущ)EMFSVGEPS
Координатно пространство16-битово цяло число (от -32 768 до 32 767)32-битови целочислени координатиПлаваща запетая с двойна точност по IEEEPostScript точки (1/72 инча)
Операционна системаСтар 16-битов Windows GDI32-битовата Windows GDI+Поддръжката зависи от програмата.PostScript предпечатен стандарт
Поддръжка в модерни браузъриНяма нативна поддръжка в браузъритеНяма нативна поддръжка в браузъритеСъвместимостта зависи от браузъра и приложението.Нулева поддръжка в браузърите
Състояние на сигурносттаВисок риск в старите вградени парсериУмерен риск във вградения GDIБезопасен декларативен XML (санитизиран)Висок риск (изпълним език)

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Графиката изглежда силно изкривена или свита в микроскопична точка.

Първопричина: Липсваща или повредена позиционируема заглавна част Aldus (липсват маркерът 0xD7CDC69A и ограничителната рамка).

Възстановяване: Повторно вмъкване на стандартна ограничителна рамка или преобразуване към SVG с помощта на File2File.app Metafile Converter.

Анализ на сигурността и вектори на атака към парсера

WMF е сред форматите с най-много известни уязвимости в историята на компютърната сигурност заради записите за изпълнение на обратни извиквания в GDI (SETABORTPROC).

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

  • Изпълнение на произволен код чрез извикване на записа SETABORTPROC в стар Windows GDI.
  • Препълване на буфера при обработка на повредени 16-битови масиви от точки на многоъгълници.
  • Четене извън границите на динамичната памет по време на декомпресията на вградени DIB битови карти.

Най-добри практики за защита: Никога не анализирайте WMF файлове с помощта на вградените GDI API на операционната система; преобразувайте ги само в изолирана среда на WebAssembly.

Исторически произход и етапи

2006Microsoft издава спешна корекция за критичната уязвимост в Windows Metafile (CVE-2005-4560).
1993С появата на Windows NT WMF е наследен от 32-битовия формат Enhanced Metafile (EMF).
1990Въведен с Windows 3.0, той бързо се превръща в стандартен формат за клипарт изображения в настолната издателска дейност.

Основни предимства

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

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

  • Сериозно остаряване: 16-битовите целочислени координати ограничават точността на чертане в сравнение с модерните векторни формати.
  • WMF има известни проблеми със сигурността: възможността за изпълнение на записи в наследения формат е позволявала критично отдалечено изпълнение на код.
  • Липса на поддръжка за модерни векторни функции като градиенти, маски на непрозрачност или CSS стилизиране.

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

  • WMF заглавката за позициониране започва с магическите байтове 0xD7 0xCD 0xC6 0x9A, които са изобретени от Aldus Corporation за PageMaker.
  • Уязвимостта в записа 'SETABORTPROC' през 2005 г. позволяваше на нападателите да изпълняват произволен асемблерен код просто чрез разглеждане на картинка от потребителя в Windows Explorer.
  • Милиони колекции с клипарти на дискети през 90-те години се разпространяваха изключително във формат .WMF.

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

Какво представлява WMF файлът?

WMF (Windows Metafile) е стар векторен формат на Microsoft, създаден през 1990 г. за съхранение на клипарти и илюстрации във Windows 3.0 и ранните версии на Microsoft Office.

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

Можете безопасно да конвертирате WMF файлове в модерни, мащабируеми SVG векторни графики или PNG изображения с помощта на File2File.app директно във вашия уеб браузър.

Защо WMF се е считал за опасен в миналото?

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