Windows Metafile (.wmf)
[MS-WMF]: มาตรฐานWindows Metafile (WMF) เป็นรูปแบบคอนเทนเนอร์เวกเตอร์และแรสเตอร์แบบ 16 บิตรุ่นเก่าของ Microsoft ซึ่งได้รับการออกแบบในยุค Windows 3.0 สำหรับการแชร์คลิปอาร์ตและกราฟิกที่ปรับขนาดได้ระหว่างแอปพลิเคชัน Windows
แปลง WMF เป็น SVG
ตัวแปลงจาก WMF เป็น SVG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
ตรวจสอบและดู Metadata
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WMF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวในระดับไบต์ (Magic Bytes)
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WMF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
D7 CD C6 9A / 01 00 09 00การแสดงผลรูปแบบ ASCII: ×ÍÆš / ....
มาตรฐาน: [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 |
| การจัดลำดับไบต์ (Byte 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 นิ้ว |
| ระบบปฏิบัติการ | Windows GDI 16 บิตรุ่นเก่า | Windows GDI+ 32 บิต | มาตรฐานเว็บสากล W3C | มาตรฐาน Prepress ของ PostScript |
| การรองรับเบราว์เซอร์สมัยใหม่ | ไม่รองรับในเบราว์เซอร์เลย | ไม่รองรับในเบราว์เซอร์เลย | รองรับแบบอินไลน์เนทีฟ 100% ในทุกเบราว์เซอร์ | ไม่รองรับในเบราว์เซอร์เลย |
| สถานะความปลอดภัย | ความเสี่ยงสูงในตัวแยกวิเคราะห์ดั้งเดิมรุ่นเก่า | ความเสี่ยงปานกลางใน GDI ดั้งเดิม | XML แบบประกาศที่ปลอดภัย (ผ่านการฆ่าเชื้อแล้ว) | ความเสี่ยงสูง (ภาษาที่สามารถรันได้) |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
กราฟิกปรากฏว่าบิดเบี้ยวอย่างรุนแรงหรือยุบตัวกลายเป็นจุดเล็กๆ
สาเหตุหลัก: ส่วนหัวที่วางตำแหน่งได้ของ Aldus หายไปหรือเสียหาย (ขาดเครื่องหมายวิเศษ 0xD7CDC69A และกรอบขอบเขต)
การกู้คืน: ฉีดกรอบขอบเขตที่วางตำแหน่งได้มาตรฐานเข้าไปใหม่หรือแปลงรหัสเป็น SVG โดยใช้ File2File Metafile Converter
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
WMF เป็นหนึ่งในรูปแบบที่มีช่องโหว่มากที่สุดในประวัติศาสตร์คอมพิวเตอร์ เนื่องจากมีเรคคอร์ดการดำเนินการเรียกกลับของ GDI (SETABORTPROC)
เวกเตอร์การโจมตีที่ทราบ
- การรันโค้ดตามอำเภอใจผ่านการเรียกเรคคอร์ด SETABORTPROC ใน Windows GDI รุ่นเก่า
- บัฟเฟอร์ล้นเมื่อประมวลผลอาร์เรย์จุดพ giác โพลีกอน 16 บิตที่เสียหาย
- การอ่านฮีปนอกขอบเขตระหว่างการคลายการบีบอัดบิตแมป DIB ที่ฝังอยู่
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน:
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- การจัดเก็บเวกเตอร์ขนาดกะทัดรัด: ไฟล์คลิปอาร์ตยุค 1990 แบบดั้งเดิมมักจะมีขนาดเพียงไม่กี่กิโลไบต์เท่านั้น
- รูปร่างเวกเตอร์และฟอนต์ที่ปรับขนาดได้สามารถปรับขนาดได้อย่างราบรื่นตามความละเอียดของเครื่องพิมพ์เดสก์ท็อปยุคแรก
- มาตรฐานทางประวัติศาสตร์ที่ฝังอยู่ในเอกสารและคลังข้อมูลของ Microsoft Office รุ่นเก่าหลายล้านรายการ
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ความล้าสมัยอย่างรุนแรง: พิกัดจำนวนเต็ม 16 บิตจำกัดความแม่นยำในการวาดภาพเมื่อเทียบกับรูปแบบเวกเตอร์สมัยใหม่
- ประวัติความปลอดภัยที่อับอาย: ความสามารถในการประعะเบียน WMF รุ่นเก่าทำให้เกิดการรันโค้ดจากระยะไกลที่ร้ายแรง
- ไม่รองรับฟีเจอร์เวกเตอร์สมัยใหม่ เช่น ไล่ระดับสี หน้ากากความทึบ หรือการจัดสไตล์ CSS
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ส่วนหัว WMF ที่วางตำแหน่งได้เริ่มต้นด้วยไบต์วิเศษ 0xD7 0xCD 0xC6 0x9A ซึ่งคิดค้นโดย Aldus Corporation สำหรับ PageMaker
- ช่องโหว่เรคคอร์ด 'SETABORTPROC' ในปี 2005 อนุญาตให้ผู้โจมตีรันโค้ดแอสเซมบลีตามอำเภอใจเพียงแค่ให้ผู้ใช้ดูรูปภาพใน Windows Explorer
- คอลเลกชันคลิปอาร์ตฟลอปปีดิสก์หลายล้านชุดในทศวรรษ 1990 ถูกแจกจ่ายในรูปแบบ .WMF เท่านั้น
คำถามทางเทคนิคที่พบบ่อย
ไฟล์ WMF คืออะไร?
WMF (Windows Metafile) เป็นรูปแบบเวกเตอร์รุ่นเก่าของ Microsoft ที่สร้างขึ้นในปี 1990 สำหรับจัดเก็บภาพคลิปอาร์ตและภาพประกอบใน Windows 3.0 และ Microsoft Officeรุ่นแรกๆ
ฉันจะแปลง WMF เป็น SVG หรือ PNG ได้อย่างไร?
คุณสามารถแปลงไฟล์ WMF เป็นกราฟิกเวกเตอร์ SVG หรือภาพ PNG ที่ทันสมัยและปรับขนาดได้โดยปลอดภัยโดยใช้ File2File.app บนเว็บเบราว์เซอร์ของคุณโดยตรง
เหตุใด WMF จึงเคยถูกมองว่าเป็นอันตรายในอดีต?
ในปี 2005 พบช่องโหว่ร้ายแรงที่ไฟล์ WMF สามารถทริกเกอร์การเรียกกลับของเครื่องพิมพ์ที่ทำงานได้ (executable printer callbacks) ทำให้ไฟล์ที่เป็นอันตรายสามารถติดไวรัสคอมพิวเตอร์ได้เพียงแค่เปิดดู