Windows Metafile (.wmf)
[MS-WMF]: СтандартWindows Metafile (WMF) е остарелият 16-битов векторен и растерен контейнерен формат на Microsoft, създаден по времето на Windows 3.0 за споделяне на мащабируеми клипарти и графики между приложения за Windows.
Конвертиране на WMF към SVG
Безплатен конвертор от WMF към SVG в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират WMF файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират WMF файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
D7 CD C6 9A / 01 00 09 00ASCII ПРЕДСТАВЯНЕ: ×ÍÆš / ....
Стандартизация: [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 (Текущ) | 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 Metafile Converter.
Анализ на сигурността и вектори на атака към парсера
WMF е един от най-уязвимите формати в историята на компютърните технологии поради записите за изпълнение на обратни извиквания (callback) в GDI (SETABORTPROC).
Известни вектори на атака
- Изпълнение на произволен код чрез извикване на записа SETABORTPROC в стар Windows GDI.
- Препълване на буфера при обработка на повредени 16-битови масиви от точки на многоъгълници.
- Четене извън границите на динамичната памет по време на декомпресията на вградени DIB битови карти.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Компактно векторно съхранение: файловете с клипарти от 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) на принтера, което позволяваше на злонамерени файлове да заразяват компютри само чрез тяхното разглеждане.