Windows Metafile (.wmf)

[MS-WMF]: มาตรฐาน

Windows Metafile (WMF) เป็นรูปแบบคอนเทนเนอร์เวกเตอร์และแรสเตอร์แบบ 16 บิตรุ่นเก่าของ Microsoft ซึ่งได้รับการออกแบบในยุค Windows 3.0 สำหรับการแชร์คลิปอาร์ตและกราฟิกที่ปรับขนาดได้ระหว่างแอปพลิเคชัน Windows

แปลง WMF เป็น SVG

ตัวแปลงจาก WMF เป็น SVG ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WMF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WMF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

D7 CD C6 9A / 01 00 09 00

การแสดงผลรูปแบบ ASCII: ×ÍÆš / ....

มาตรฐาน: [MS-WMF]: Windows Metafile Format Specification

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์เรคอร์ดเมตาไฟล์ GDI ขนาด 16 บิต โดยอาจมีส่วนหัว Aldus placeable ขนาด 22 ไบต์อยู่ก่อนหน้า
การบีบอัดเรคอร์ดคำสั่งวาดเวกเตอร์และแรสเตอร์ 16 บิตที่ไม่บีบอัด
การจัดลำดับไบต์ลำดับไบต์แบบ Little-Endian (Intel x86)
พื้นที่สีRGB ที่ขึ้นกับอุปกรณ์
ช่องสัญญาณและโครงสร้างพาธเวกเตอร์ รูปหลายเหลี่ยม สตริงข้อความ และบิตแมป DIB 16 บิต/24 บิตที่ฝังอยู่
ขนาดสูงสุดปริภูมิพิกัดจำนวนเต็ม 16 บิต (-32,768 ถึง +32,767 หน่วย)
ความโปร่งใสมาสก์ความโปร่งใสสำหรับการดำเนินการแรสเตอร์ไบนารี (ROP2)
การสตรีมและแบบโปรเกรสซีฟเล่นระเบียนตามลำดับโดยตรงผ่าน Windows GDI แบบ 16 บิต

ตารางเปรียบเทียบทางเทคนิค: WMF กับคู่แข่ง

คุณลักษณะทางเทคนิคWMF (ปัจจุบัน)EMFSVGEPS
พื้นที่พิกัดจำนวนเต็ม 16 บิต (-32768 ถึง 32767)พิกัดจำนวนเต็ม 32 บิตจุดทศนิยมความแม่นยำสองเท่าแบบ IEEEจุด PostScript ขนาด 1/72 นิ้ว
ระบบปฏิบัติการWindows GDI 16 บิตรุ่นเก่าWindows GDI+ 32 บิตการรองรับแตกต่างกันไปตามซอฟต์แวร์มาตรฐาน Prepress ของ PostScript
การรองรับเบราว์เซอร์สมัยใหม่ไม่รองรับในเบราว์เซอร์เลยไม่รองรับในเบราว์เซอร์เลยความเข้ากันได้แตกต่างกันตามเบราว์เซอร์และแอปไม่รองรับในเบราว์เซอร์เลย
สถานะความปลอดภัยความเสี่ยงสูงในตัวแยกวิเคราะห์ดั้งเดิมรุ่นเก่าความเสี่ยงปานกลางใน GDI ดั้งเดิมXML แบบประกาศที่ปลอดภัย (ผ่านการฆ่าเชื้อแล้ว)ความเสี่ยงสูง (ภาษาที่สามารถรันได้)

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

กราฟิกปรากฏว่าบิดเบี้ยวอย่างรุนแรงหรือยุบตัวกลายเป็นจุดเล็กๆ

สาเหตุหลัก: ส่วนหัวที่วางตำแหน่งได้ของ Aldus หายไปหรือเสียหาย (ขาดเครื่องหมายวิเศษ 0xD7CDC69A และกรอบขอบเขต)

การกู้คืน: ฉีดกรอบขอบเขตที่วางตำแหน่งได้มาตรฐานเข้าไปใหม่หรือแปลงรหัสเป็น SVG โดยใช้ File2File.app Metafile Converter

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

WMF เป็นหนึ่งในรูปแบบที่มีช่องโหว่มากที่สุดในประวัติศาสตร์คอมพิวเตอร์ เนื่องจากมีเรคคอร์ดการดำเนินการเรียกกลับของ GDI (SETABORTPROC)

เวกเตอร์การโจมตีที่ทราบ

  • การรันโค้ดตามอำเภอใจผ่านการเรียกเรคคอร์ด SETABORTPROC ใน Windows GDI รุ่นเก่า
  • จุดยอดของรูปหลายเหลี่ยม 16 บิตที่เสียหายอาจทำให้เกิดบัฟเฟอร์ล้นในตัวแยกวิเคราะห์ WMF
  • การอ่านฮีปนอกขอบเขตระหว่างการคลายการบีบอัดบิตแมป DIB ที่ฝังอยู่

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ห้ามแยกวิเคราะห์ไฟล์ WMF โดยใช้ API GDI ของระบบปฏิบัติการเนทีฟ ให้แปลงรหัสภายในสภาพแวดล้อม WebAssembly ที่แยกส่วนอย่างเคร่งครัด

ประวัติความเป็นมาและเหตุการณ์สำคัญ

2006Microsoft ออกแพตช์ฉุกเฉินสำหรับช่องโหว่ร้ายแรงของ Windows Metafile (CVE-2005-4560)
1993ถูกแทนที่ด้วยรูปแบบ Enhanced Metafile (EMF) แบบ 32 บิตพร้อมกับ Windows NT
1990เปิดตัวพร้อมกับ Windows 3.0 และกลายเป็นมาตรฐานสำหรับคลิปอาร์ตการพิมพ์บนเดสก์ท็อปอย่างรวดเร็ว

ข้อได้เปรียบและจุดเด่นสำคัญ

  • การจัดเก็บเวกเตอร์ขนาดกะทัดรัด: ไฟล์คลิปอาร์ตยุค 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) ทำให้ไฟล์ที่เป็นอันตรายสามารถติดไวรัสคอมพิวเตอร์ได้เพียงแค่เปิดดู