Метафайл Windows (.wmf)
[MS-WMF]: СтандартWindows Metafile (WMF) - це застарілий 16-бітний векторний і растровий контейнерний формат від Microsoft, розроблений в епоху Windows 3.0 для спільного використання масштабованої графіки та кліпартів між додатками Windows.
Конвертувати з WMF у SVG
Безкоштовний конвертер з WMF у SVG у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли WMF, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли WMF, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
D7 CD C6 9A / 01 00 09 00ASCII-УЯВЛЕННЯ: ×ÍÆš / ....
Стандартизація: [MS-WMF]: Windows Metafile Format Specification
Технічні характеристики
| Архітектура контейнера | 16-бітні записи метафайлу GDI, перед якими необов'язково вказано 22-байтовий заголовок Aldus для розміщення |
| Стиснення | Нестиснені 16-бітні записи векторних та растрові команд малювання |
| Порядок байтів (Endianness) | Зворотний порядок байтів (Intel x86) |
| Колірні простори | Залежний від пристрою RGB |
| Канали та структура | Векторні контури, полігони, рядки тексту та вбудовані 16-бітні/24-бітні бітові мапи DIB |
| Максимальні розміри | 16-бітний простір цілочисельних координат (від -32 768 до +32 767 одиниць) |
| Прозорість | Маски прозорості двійкової растрової операції (ROP2) |
| Потокове та прогресивне завантаження | Послідовне відтворення записів безпосередньо у 16-бітний Windows GDI |
Технічна матриця порівняння: WMF проти конкурентів
| Технічний атрибут | WMF (Поточний) | EMF | SVG | EPS |
|---|---|---|---|---|
| Координатний простір | 16-бітне ціле число (від -32768 до 32767) | 32-бітні цілочисельні координати | Число з плаваючою комою подвійної точності IEEE | Пункт PostScript (1/72 дюйма) |
| Операційна система | Застарілий 16-бітний Windows GDI | 32-бітний Windows GDI+ | Універсальний вебстандарт W3C | Стандарт додрукарської підготовки PostScript |
| Підтримка сучасними браузерами | Нульова підтримка браузерами | Нульова підтримка браузерами | 100% нативно всередині всіх браузерів | Нульова підтримка браузерами |
| Стан безпеки | Високий ризик у застарілих власних аналізаторах | Помірний ризик у рідному GDI | Безпечний декларативний XML (очищений) | Високий ризик (виконувана мова) |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Графічне зображення виглядає сильно спотвореним або зменшеним до мікроскопічної точки.
Першопричина: Відсутній або пошкоджений заголовок розміщення Aldus (відсутній магічний маркер 0xD7CDC69A та обмежувальна рамка).
Відновлення: Повторно впровадьте стандартну обмежувальну рамку або транскодуйте у SVG за допомогою конвертера метафайлів File2File.
Аналіз безпеки та векторів атак на парсери
WMF є одним із найбільш історично вразливих форматів в історії обчислювальної техніки через записи виконання зворотних викликів GDI (SETABORTPROC).
Відомі вектори атак
- Довільне виконання коду через виклик запису SETABORTPROC у застарілому Windows GDI.
- Переповнення буфера під час обробки пошкоджених масивів 16-бітних точок багатокутника.
- Читання з купи за межами буфера під час розпакування вбудованої растрової мапи DIB.
Захисні найкращі практики: Ніколи не аналізуйте файли WMF за допомогою власних API GDI операційної системи; виконуйте транскодування виключно в ізольованих середовищах WebAssembly.
Історичне походження та віхи
Головні переваги та плюси
- Компактне векторне сховище: застарілі файли кліпартів 1990-х років зазвичай важать лише кілька кілобайтів.
- Масштабовані векторні фігури та шрифти плавно масштабуються під роздільну здатність ранніх настільних принтерів.
- Історичний стандарт, вбудований у мільйони застарілих документів та архівів Microsoft Office.
Технічні обмеження та мінуси
- Серйозна застарілість: 16-бітні цілочисельні координати обмежують точність малювання порівняно з сучасними векторними форматами.
- Сумнівна історія безпеки: застарілі можливості виконання записів WMF призводили до критичного віддаленого виконання коду.
- Відсутність підтримки сучасних векторних функцій, таких як градієнти, маски непрозорості або стилі CSS.
Цікаві технічні факти
- Заголовок розміщуваного файлу WMF починається з магічних байтів 0xD7 0xCD 0xC6 0x9A, які були винайдені Aldus Corporation для 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 могли запускати виконувані зворотні виклики принтера, що дозволяло шкідливим файлам заражати комп'ютери просто під час їх перегляду.