Windows Metafile (.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 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
Поредност на байтовете (Endianness)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-битови целочислени координатиПлаваща запетая с двойна точност по IEEEPostScript точки (1/72 инча)
Операционна системаСтар 16-битов Windows GDI32-битов Windows GDI+Универсален уеб стандарт на W3CPostScript предпечатен стандарт
Поддръжка в модерни браузъриНулева поддръжка в браузъритеНулева поддръжка в браузърите100% вградена поддръжка във всички браузъриНулева поддръжка в браузърите
Състояние на сигурносттаВисок риск в старите вградени парсериУмерен риск в вградения GDIБезопасен декларативен XML (санитизиран)Висок риск (изпълним език)

Често срещани режими на повреда и ръководство за хекс възстановяване

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

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

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

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

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

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

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

Защитни добри практики:

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

2006Microsoft издава спешна корекция за критичната уязвимост в Windows Metafile (CVE-2005-4560).
1993Заменен от 32-битовия формат Enhanced Metafile (EMF) с излизането на Windows NT.
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 файловете можеха да задействат изпълними обратни извиквания (callbacks) на принтера, което позволяваше на злонамерени файлове да заразяват компютри само чрез тяхното разглеждане.