Metaplik systemu Windows (.wmf)
[MS-WMF]: StandardowyWindows Metafile (WMF) to starszy, 16-bitowy format kontenera wektorowo-rastrowego firmy Microsoft, zaprojektowany w erze systemu Windows 3.0 do udostępniania skalowalnych grafik clipart i grafik między aplikacjami systemu Windows.
Konwertuj WMF na SVG
Darmowy konwerter z WMF na SVG w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki WMF, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki WMF, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
D7 CD C6 9A / 01 00 09 00REPREZENTACJA ASCII: ×ÍÆš / ....
Normalizacja: [MS-WMF]: Windows Metafile Format Specification
Specyfikacja techniczna
| Architektura kontenera | 16-bitowe rekordy metafile GDI opcjonalnie poprzedzone 22-bajtowym nagłówkiem umieszczalnym Aldus |
| Kompresja | Neskompresowane 16-bitowe rekordy poleceń rysowania wektorowego i rastrowego |
| Kolejność bajtów (Endianness) | Little-Endian (Intel x86) |
| Przestrzenie kolorów | Device Dependent RGB |
| Kanały i struktura | Ścieżki wektorowe, wielokąty, ciągi tekstowe oraz osadzone 16/24-bitowe mapy bitowe DIB |
| Maks. wymiary | 16-bitowa przestrzeń współrzędnych całkowitych (od -32 768 do +32 767 jednostek) |
| Przezroczystość | Maski przezroczystości binarnej operacji rastrowej (ROP2) |
| Streaming i progresywne ładowanie | Sekwencyjne odtwarzanie rekordów bezpośrednio w 16-bitowym systemie Windows GDI |
Techniczna macierz porównawcza: WMF a konkurencja
| Atrybut techniczny | WMF (Bieżący) | EMF | SVG | EPS |
|---|---|---|---|---|
| Przestrzeń współrzędnych | 16-bitowa całkowita (od -32768 do 32767) | 32-bitowe współrzędne całkowite | Zmiennoprzecinkowe o podwójnej precyzji IEEE | Punkty PostScript 1/72 cala |
| System operacyjny | Starszy 16-bitowy Windows GDI | 32-bitowy Windows GDI+ | Uniwersalny standard internetowy W3C | Standard prepress PostScript |
| Obsługa w now. przeglądarkach | Brak natywnej obsługi w przeglądarce | Brak natywnej obsługi w przeglądarce | 100% natywne osadzanie we wszystkich przeglądarkach | Brak natywnej obsługi w przeglądarce |
| Stan bezpieczeństwa | Wysokie ryzyko w starszych parserach natywnych | Umiarkowane ryzyko w natywnym GDI | Bezpieczny deklaratywny XML (oczyszczony) | Wysokie ryzyko (język wykonywalny) |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Grafika wydaje się mocno zniekształcona lub pomniejszona do mikroskopijnej kropki.
Główna przyczyna: Brakujący lub uszkodzony umieszczalny nagłówek Aldus (brak znacznika magicznego 0xD7CDC69A i ramki ograniczającej).
Odzyskiwanie: Ponownie wstrzyknij standardową ramkę ograniczającą lub przekoduj do SVG za pomocą konwertera metafile File2File.
Analiza bezpieczeństwa i wektory ataku na parser
WMF to jeden z historycznie najbardziej podatnych na ataki formatów w historii informatyki ze względu na rekordy wywołań zwrotnych GDI (SETABORTPROC).
Znane wektory ataku
- Zdalne wykonanie kodu poprzez wywołanie rekordu SETABORTPROC w starszym systemie Windows GDI.
- Przepełnienie bufora podczas przetwarzania uszkodzonych 16-bitowych tablic punktów wielokątów.
- Odczyt pamięci stosu poza dozwolonym zakresem podczas dekompresji osadzonej mapy bitowej DIB.
Najlepsze praktyki obronne: Nigdy nie parsować plików WMF za pomocą natywnych interfejsów API systemowych GDI; przekodowywać wyłącznie w izolowanych środowiskach WebAssembly.
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Kompaktowe przechowywanie wektorowe: dawne pliki clipart z lat 90. zajmują zazwyczaj zaledwie kilka kilobajtów.
- Skalowalne kształty wektorowe i czcionki płynnie skalują się do rozdzielczości wczesnych drukarek biurkowych.
- Historyczny standard osadzony w milionach starszych dokumentów i archiwów pakietu Microsoft Office.
Ograniczenia techniczne i wady
- Ogromne przestarzenie: 16-bitowe współrzędne całkowite ograniczą precyzję rysowania w porównaniu do nowoczesnych formatów wektorowych.
- Złowroga historia bezpieczeństwa: możliwości wykonywania starszych rekordów WMF doprowadziły do krytycznego zdalnego wykonywania kodu.
- Brak obsługi nowoczesnych funkcji wektorowych, takich jak przejścia tonalne (gradiendy), maski krycia czy stylizacja CSS.
Ciekawe informacje techniczne
- Umieszczalny nagłówek WMF rozpoczyna się od bajtów magicznych 0xD7 0xCD 0xC6 0x9A, wymyślonych przez Aldus Corporation dla programu PageMaker.
- Podatność rekordu 'SETABORTPROC' z 2005 roku pozwalała atakującym na wykonanie dowolnego kodu asemblera po prostu poprzez wyświetlenie obrazu przez użytkownika w Eksploratorze Windows.
- Miliony kolekcji clipartów na dyskietkach w latach 90. były dystrybuowane wyłącznie w formacie .WMF.
Często zadawane pytania techniczne
Czym jest plik WMF?
WMF (Windows Metafile) to starszy format wektorowy firmy Microsoft utworzony w 1990 roku do przechowywania clipartów i ilustracji w systemie Windows 3.0 oraz we wczesnych wersjach pakietu Microsoft Office.
Jak mogę przekonwertować plik WMF do formatu SVG lub PNG?
Możesz bezpiecznie przekonwertować pliki WMF na nowoczesną, skalowalną grafikę wektorową SVG lub obrazy PNG za pomocą File2File.app bezpośrednio w przeglądarce internetowej.
Dlaczego format WMF był w przeszłości uznawany za niebezpieczny?
W 2005 roku odkryto krytyczną lukę, w której pliki WMF mogły wywoływać wykonywalne funkcje zwrotne drukarki, co pozwalało złośliwym plikom infekować komputery po prostu podczas ich przeglądania.