מטא-קובץ של Windows (.wmf)
[MS-WMF]: תקןWindows Metafile (WMF) הוא פורמט מכולה ותיק של Microsoft, לגרפיקה וקטורית ורסטרית ב-16 סיביות. הוא תוכנן בעידן Windows 3.0 כדי לשתף איורים וגרפיקה ניתנים להגדלה בין יישומי Windows.
המר WMF ל-SVG
ממיר חינמי מ-WMF ל-SVG פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי WMF על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי WMF על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
D7 CD C6 9A / 01 00 09 00ייצוג ASCII: ×ÍÆš / ....
תקינה: [MS-WMF]: Windows Metafile Format Specification
מפרט טכני
| מבנה המכולה | רשומות מטא-קובץ GDI בנות 16 סיביות, שאפשר להקדים להן כותרת Aldus בת 22 בתים לציון מיקום |
| דחיסה | רשומות לא דחוסות של פקודות ציור וקטוריות ורסטריות בנות 16 סיביות |
| סדר בתים (Endianness) | סדר בתים Little-Endian (Intel x86) |
| מרחבי צבע | RGB התלוי בהתקן |
| ערוצים ומבנה | נתיבים וקטוריים, מצולעים, מחרוזות טקסט ומפות סיביות DIB מוטמעות של 16/24 סיביות |
| ממדים מרביים | מרחב קואורדינטות של מספרים שלמים בני 16 סיביות (-32,768 עד +32,767 יחידות) |
| שקיפות | מסכות שקיפות של פעולות רסטר בינאריות (ROP2) |
| הזרמה ופרוגרסיביות | הפעלה רציפה של רשומות ישירות ב-GDI של Windows ב-16 סיביות |
מטריצת השוואה טכנית: WMF מול מתחרים
| תכונה טכנית | WMF (נוכחי) | EMF | SVG | EPS |
|---|---|---|---|---|
| מרחב הקואורדינטות | מספר שלם של 16 סיביות (-32,768 עד 32,767) | קואורדינטות של מספרים שלמים בני 32 סיביות | נקודה צפה בדיוק כפול של IEEE | נקודות PostScript של 1/72 אינץ' |
| מערכת ההפעלה | GDI של Windows ישן בן 16 סיביות | Windows GDI+ בן 32 סיביות | התמיכה משתנה בין תוכנות. | תקן הכנה להדפסה של PostScript |
| תמיכה בדפדפנים מודרניים | אפס תמיכה מובנית בדפדפן | אפס תמיכה מובנית בדפדפן | התאימות משתנה לפי הדפדפן והאפליקציה. | אפס תמיכה מובנית בדפדפן |
| מצב אבטחה | סיכון גבוה במנתחים מקומיים ישנים | סיכון בינוני ב-GDI מקומי | XML הצהרתי בטוח (מנוקה) | סיכון גבוה (שפה ניתנת להרצה) |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
הגרפיקה נראית מעוותת מאוד או מתכווצת לנקודה זעירה.
גורם שורש: כותרת ה-Aldus הניתנת למיקום חסרה או פגומה (חסר סמן הקסדצימלי 0xD7CDC69A ותיבת גבולות).
שחזור: הזרק מחדש תיבת גבולות סטנדרטית הניתנת למיקום או המר ל-SVG באמצעות ממיר Metafile של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
WMF הוא אחד הפורמטים הפגיעים ביותר מבחינה היסטורית, בגלל רשומות GDI שמפעילות קריאות חוזרות (callbacks) כמו SETABORTPROC.
ווקטורי תקיפה ידועים
- ביצוע קוד שרירותי באמצעות הפעלת רשומת SETABORTPROC ב-Windows GDI ישן.
- גלישת חוצץ בעת עיבוד מערכי נקודות פוליגון פגומים בני 16 סיביות.
- קריאה מחוץ לגבולות הערימה במהלך פענוח מפת סיביות DIB משובצת.
שיטות מומלצות להגנה: אל תנתח קובצי WMF באמצעות ממשקי GDI מקוריים של מערכת ההפעלה; המר אותם רק בסביבות WebAssembly מבודדות.
היסטוריה ואבני דרך
יתרונות מרכזיים
- אחסון וקטורי קומפקטי: קבצי קטעי אמנות ישנים משנות ה-90 שוקלים בדרך כלל כמה קילובייטים בודדים בלבד.
- צורות וקטוריות וגופנים מותאמים בצורה חלקה לרזולוציות של מדפסות שולחניות מוקדמות, גם בהגדלה וגם בהקטנה.
- תקן היסטורי משובץ במיליוני מסמכי מיקרוסופט אופיס וארכיונים ישנים.
מגבלות טכניות וחסרונות
- התיישנות חמורה: קואורדינטות של מספרים שלמים בני 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 להפעיל קריאות חוזרות של מדפסת שניתנות להרצה, וכך קובץ זדוני יכול היה להדביק מחשב רק באמצעות צפייה בו.