Windows 메타파일 (.wmf)
[MS-WMF]: 표준WMF(Windows Metafile)는 Windows 3.0 시대에 Windows 응용 프로그램 간에 확장 가능한 클립아트와 그래픽을 공유하기 위해 설계된 Microsoft의 레거시 16비트 벡터 및 래스터 컨테이너 형식입니다.
WMF을(를) SVG(으)로 변환
무료 브라우저 내 WMF에서 SVG로 변환하는 도구입니다. 기기에서 파일을 즉시 변환할 수 있습니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 WMF 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 WMF 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
D7 CD C6 9A / 01 00 09 00ASCII 표현: ×ÍÆš / ....
표준화: [MS-WMF]: Windows Metafile Format Specification
기술 사양
| 컨테이너 아키텍처 | 선택적으로 22바이트 Aldus 배치 헤더가 앞에 붙는 16비트 GDI 메타파일 레코드 |
| 압축 | 비압축 16비트 벡터 및 래스터 그리기 명령 레코드 |
| 바이트 엔디안 | 리틀 엔디안(Intel x86) |
| 색 공간 | 장치 종속 RGB |
| 채널 및 구조 | 벡터 경로, 다각형, 텍스트 문자열 및 내장 16/24비트 DIB 비트맵 |
| 최대 크기 | 16비트 정수 좌표 공간(-32,768~+32,767단위) |
| 투명도 | 이진 래스터 연산(ROP2) 투명도 마스크 |
| 스트리밍 및 프로그레시브 | 레코드를 순차적으로 재생하여 16비트 Windows GDI에 직접 전달 |
기술 비교 매트릭스: WMF 대 경쟁사
| 기술적 속성 | WMF (현재) | EMF | SVG | EPS |
|---|---|---|---|---|
| 좌표 공간 | 16비트 정수(-32768 ~ 32767) | 32비트 정수 좌표 | IEEE 배정밀도 부동 소수점 | 1/72인치 PostScript 포인트 |
| 운영 체제 | 레거시 16비트 Windows GDI | 32비트 Windows GDI+ | 소프트웨어에 따라 지원 여부가 다릅니다. | PostScript 프리프레스 표준 |
| 최신 브라우저 지원 | 기본 브라우저 지원 없음 | 기본 브라우저 지원 없음 | 호환성은 브라우저와 앱에 따라 다릅니다. | 기본 브라우저 지원 없음 |
| 보안 수준 | 레거시 네이티브 파서에서 위험도가 높음 | 네이티브 GDI에서 위험도가 보통 | 안전한 선언형 XML(정화 처리됨) | 실행 가능한 언어로 위험도가 높음 |
일반적인 손상 모드 및 헥스 복구 가이드
그래픽이 심하게 왜곡되거나 아주 작은 점 하나로 축소됩니다.
근본 원인: Aldus 배치 가능 헤더가 누락되었거나 손상되었습니다(0xD7CDC69A 매직 마커 및 경계 상자 누락).
복구: 표준 배치 가능 경계 상자를 다시 삽입하거나 File2File.app 메타파일 변환기를 사용해 SVG로 변환하십시오.
보안 분석 및 파서 공격 벡터
WMF는 GDI 콜백 실행 레코드(SETABORTPROC)로 인해 컴퓨팅 역사상 가장 취약한 형식 중 하나입니다.
알려진 공격 벡터
- 레거시 Windows GDI에서 SETABORTPROC 레코드 호출을 통한 임의 코드 실행
- 손상된 16비트 다각형 포인트 배열 처리 시 버퍼 오버플로우
- 내장 DIB 비트맵 압축 해제 중 메모리 경계 초과 힙 읽기
방어적 모범 사례: 네이티브 운영체제 GDI API로 WMF 파일을 파싱하지 마십시오. 격리된 WebAssembly 환경 안에서만 트랜스코딩하십시오.
역사적 배경 및 주요 이력
주요 장점
- 컴팩트한 벡터 저장: 1990년대 레거시 클립아트 파일은 일반적으로 몇 킬로바이트에 불과합니다.
- 확장 가능한 벡터 도형과 글꼴을 초기 데스크톱 프린터 해상도에 맞춰 부드럽게 조정할 수 있습니다.
- 수백만 개의 레거시 Microsoft Office 문서 및 아카이브에 내장된 역사적 표준입니다.
기술적 제한 사항 및 단점
- 심각한 노후화: 16비트 정수 좌표로 인해 최신 벡터 형식보다 드로잉 정밀도가 낮습니다.
- 악명 높은 보안 역사: 레거시 WMF 레코드 실행 기능으로 인해 치명적인 원격 코드 실행이 허용되었습니다.
- 그라데이션, 불투명도 마스크 또는 CSS 스타일링과 같은 최신 벡터 기능에 대한 지원이 없습니다.
흥미로운 기술적 상식
- 배치 가능한 WMF 헤더는 0xD7 0xCD 0xC6 0x9A 매직 바이트로 시작하며, 이는 PageMaker용으로 Aldus Corporation에서 발명했습니다.
- 2005년의 'SETABORTPROC' 레코드 취약성으로 인해 사용자가 Windows 탐색기에서 그림을 보기만 해도 공격자가 임의의 어셈블리 코드를 실행할 수 있었습니다.
- 1990년대의 수백만 개의 플로피 디스크용 클립아트 컬렉션은 .WMF 형식으로만 배포되었습니다.
자주 묻는 기술 질문
WMF 파일이란 무엇입니까?
WMF(Windows Metafile)는 Windows 3.0 및 초기 Microsoft Office 버전에서 클립아트와 일러스트레이션을 저장하기 위해 1990년에 만들어진 레거시 마이크로소프트 벡터 포맷입니다.
WMF를 SVG 또는 PNG로 어떻게 변환할 수 있습니까?
웹 브라우저 내에서 직접 File2File.app을 사용하여 WMF 파일을 최신의 확장 가능한 SVG 벡터 그래픽 또는 PNG 이미지로 안전하게 변환할 수 있습니다.
과거에 WMF가 위험하다고 여겨진 이유는 무엇입니까?
2005년, WMF 파일이 실행 가능한 프린터 콜백을 트리거하여 악성 파일이 단순 조회만으로도 컴퓨터를 감염시킬 수 있는 치명적인 결함이 발견되었기 때문입니다.