Windows Metafile (.wmf)
[MS-WMF]: Tiêu chuẩnWindows Metafile (WMF) là định dạng vùng chứa vector và raster 16-bit cũ của Microsoft, được thiết kế vào kỷ nguyên Windows 3.0 để chia sẻ đồ họa và tranh minh họa có thể mở rộng giữa các ứng dụng Windows.
Chuyển đổi WMF sang SVG
Trình chuyển đổi từ WMF sang SVG miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạn.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp WMF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký ở đầu tệp (mẫu byte nhận diện)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp WMF bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
D7 CD C6 9A / 01 00 09 00BIỂU DIỄN ASCII: ×ÍÆš / ....
Tiêu chuẩn hóa: [MS-WMF]: Windows Metafile Format Specification
Thông số kỹ thuật
| Kiến trúc Container | Các bản ghi metafile GDI 16 bit, có thể có tiêu đề định vị Aldus 22 byte ở trước |
| Nén | Bản ghi lệnh vẽ vector và raster 16 bit không nén |
| Thứ tự byte | Little-endian (Intel x86) |
| Không gian màu | RGB phụ thuộc thiết bị |
| Kênh & Cấu trúc | Đường dẫn vector, đa giác, chuỗi văn bản và bitmap DIB 16/24 bit nhúng |
| Kích thước tối đa | Không gian tọa độ số nguyên 16 bit (-32.768 đến +32.767 đơn vị) |
| Độ trong suốt | Mặt nạ trong suốt theo thao tác raster nhị phân (ROP2) |
| Truyền phát & Tăng dần | Phát tuần tự từng bản ghi trực tiếp vào GDI Windows 16 bit |
Ma trận so sánh kỹ thuật: WMF so với các đối thủ
| Thuộc tính kỹ thuật | WMF (Hiện tại) | EMF | SVG | EPS |
|---|---|---|---|---|
| Không gian tọa độ | Số nguyên 16-bit (-32768 đến 32767) | Tọa độ số nguyên 32-bit | Dấu phẩy động độ chính xác kép IEEE | Điểm PostScript 1/72 inch |
| Hệ điều hành | Windows GDI 16-bit cũ | Windows GDI+ 32-bit | Khả năng hỗ trợ tùy theo phần mềm. | Tiêu chuẩn chế bản PostScript |
| Hỗ trợ trình duyệt hiện đại | Không hỗ trợ trực tiếp trên trình duyệt | Không hỗ trợ trực tiếp trên trình duyệt | Khả năng tương thích khác nhau tùy trình duyệt và ứng dụng. | Không hỗ trợ trực tiếp trên trình duyệt |
| Trạng thái bảo mật | Rủi ro cao trong các trình phân tích cú pháp gốc cũ | Rủi ro trung bình trong GDI gốc | XML khai báo an toàn (đã làm sạch) | Rủi ro cao (ngôn ngữ thực thi) |
Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã hex
Đồ họa xuất hiện bị biến dạng nặng hoặc thu gọn thành một dấu chấm hiển thị rất nhỏ.
Nguyên nhân gốc rễ: Thiếu hoặc hỏng tiêu đề có thể đặt của Aldus (thiếu dấu hiệu nhận diện 0xD7CDC69A và hộp giới hạn).
Khắc phục: Chèn lại hộp giới hạn tiêu chuẩn dành cho WMF có thể đặt hoặc chuyển đổi sang SVG bằng Trình chuyển đổi Metafile của File2File.app.
Phân tích bảo mật và các đường tấn công nhằm vào bộ phân tích cú pháp
WMF là một trong những định dạng dễ bị tổn thương nhất trong lịch sử điện toán do các bản ghi thực thi lệnh gọi lại GDI (SETABORTPROC).
Các véc-tơ tấn công đã biết
- Thực thi mã tùy ý thông qua lệnh gọi bản ghi SETABORTPROC trong Windows GDI cũ.
- Tràn bộ đệm khi xử lý các mảng điểm đa giác 16-bit bị hỏng.
- Đọc heap ngoài giới hạn trong quá trình giải nén bitmap DIB được nhúng.
Biện pháp phòng thủ tốt nhất: Không bao giờ phân tích cú pháp các tệp WMF bằng các API GDI của hệ điều hành gốc; chuyển mã hoàn toàn bên trong các môi trường WebAssembly bị cô lập.
Nguồn gốc lịch sử và các cột mốc
Ưu điểm & Lợi ích chính
- Lưu trữ vector nhỏ gọn: các tệp tranh minh họa từ thập niên 1990 thường chỉ nặng vài kilobyte.
- Các hình dạng và phông chữ vector có thể mở rộng mượt mà theo độ phân giải máy in để bàn đời đầu.
- Tiêu chuẩn lịch sử được nhúng trên hàng triệu tài liệu và kho lưu trữ Microsoft Office cũ.
Hạn chế & Nhược điểm kỹ thuật
- Sự lỗi thời nghiêm trọng: tọa độ số nguyên 16-bit hạn chế độ chính xác khi vẽ so với các định dạng vector hiện đại.
- Lịch sử bảo mật tai tiếng: khả năng thực thi bản ghi WMF cũ cho phép thực thi mã từ xa nghiêm trọng.
- Không hỗ trợ các tính năng vector hiện đại như hiệu ứng chuyển màu, mặt nạ độ mờ hoặc kiểu dáng CSS.
Thông tin kỹ thuật thú vị
- Tiêu đề WMF có thể đặt bắt đầu bằng các byte nhận diện 0xD7 0xCD 0xC6 0x9A, do Aldus Corporation tạo ra cho PageMaker.
- Lỗ hổng bản ghi 'SETABORTPROC' năm 2005 cho phép kẻ tấn công thực thi mã hợp ngữ tùy ý chỉ bằng cách cho người dùng xem hình ảnh trong Windows Explorer.
- Hàng triệu bộ sưu tập tranh minh họa trên đĩa mềm vào thập niên 1990 chỉ được phân phối độc quyền ở định dạng .WMF.
Các câu hỏi kỹ thuật thường gặp
Tệp WMF là gì?
WMF (Windows Metafile) là định dạng vector cũ của Microsoft được tạo ra vào năm 1990 để lưu trữ tranh minh họa và hình ảnh đồ họa trong Windows 3.0 và các phiên bản Microsoft Office đầu tiên.
Làm cách nào để chuyển đổi WMF sang SVG hoặc PNG?
Bạn có thể chuyển đổi an toàn các tệp WMF thành đồ họa vector SVG hiện đại, có thể mở rộng hoặc hình ảnh PNG bằng cách sử dụng File2File.app ngay trên trình duyệt web.
Tại sao WMF từng bị coi là nguy hiểm trong quá khứ?
Vào năm 2005, một lỗ hổng nghiêm trọng đã được phát hiện khi các tệp WMF có thể kích hoạt lệnh gọi lại máy in thực thi, cho phép các tệp độc hại lây nhiễm vào máy tính chỉ bằng cách xem chúng.
Các cặp chuyển đổi WMF liên quan
Chuyển đổi các bản ghi vẽ vector GDI 16-bit cũ của Windows thành các đường dẫn SVG hiện đại có thể phóng to mà không giảm độ phân giải.
Đưa hình minh họa Windows vào PDF một trang để dùng trong tài liệu văn phòng hoặc phục vụ việc rà soát. Các bản ghi hình vẽ được hỗ trợ sẽ được raster hóa, vì vậy không thể chỉnh sửa các hình dạng ban đầu.