Metaplik systemu Windows (.wmf)
[MS-WMF]: StandardWindows Metafile (WMF) to starszy, 16-bitowy format kontenera wektorowo-rastrowego firmy Microsoft, zaprojektowany w czasach systemu Windows 3.0 do udostępniania skalowalnych ilustracji i grafik między aplikacjami 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 metapliku GDI, opcjonalnie poprzedzone 22-bajtowym nagłówkiem Aldus Placeable |
| Kompresja | Nieskompresowane 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+ | Obsługa zależy od programu. | Standard prepress PostScript |
| Obsługa w now. przeglądarkach | Brak natywnej obsługi w przeglądarce | Brak natywnej obsługi w przeglądarce | Zgodność zależy od przeglądarki i aplikacji. | 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.app.
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
- Wykonanie dowolnego kodu poprzez wywołanie rekordu SETABORTPROC w starszym GDI systemu Windows.
- Przepełnienie bufora podczas przetwarzania uszkodzonych 16-bitowych tablic punktów wielokątów.
- Odczyt pamięci sterty poza dozwolonym zakresem podczas dekompresji osadzonej mapy bitowej DIB.
Najlepsze praktyki obronne: Nie parsuj plików WMF za pomocą natywnych interfejsów API GDI systemu operacyjnego; przekodowuj je 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
- Znaczne ograniczenia wynikające z przestarzałości formatu: 16-bitowe współrzędne całkowite ograniczają precyzję rysowania w porównaniu z nowoczesnymi formatami wektorowymi.
- 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 gradienty, 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.
Powiązane pary konwersji WMF
Przekształcaj starsze 16-bitowe zapisy rysunków wektorowych Windows GDI w nowoczesne, skalowalne ścieżki SVG bez utraty rozdzielczości.
Umieść klipart systemu Windows na jednostronicowym pliku PDF na potrzeby dokumentu biurowego lub przeglądu. Obsługiwane rekordy rysunkowe są rasteryzowane, więc oryginalne kształty nie są edytowalne.