ZSoft PCX (.pcx)
ZSoft 표준ZSoft PC Paintbrush Bitmap (PCX)은 MS-DOS, IBM PC 호환 기기 및 클래식 PC 게임을 위한 최초의 널리 채택된 래스터 이미지 표준이 된 전설적인 초기 PC 그래픽 형식입니다.
PCX을(를) PNG(으)로 변환
무료 브라우저 내 PCX-PNG 변환기. 기기에서 파일을 즉시 변환하세요.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PCX 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 PCX 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
0A 05 01ASCII 표현: ...
표준화: ZSoft PC Paintbrush Technical Reference Manual
기술 사양
| 컨테이너 아키텍처 | 128-byte fixed header followed by RLE-compressed scanlines and optional trailing 256-color palette |
| 압축 | Byte-oriented run-length encoding (RLE) with 0xC0 count indicator bits |
| 바이트 엔디안 | Little-Endian (Intel x86) |
| 색 공간 | CGA 4-color, EGA 16-color, or VGA 256-color paletted RGB |
| 채널 및 구조 | 1, 2, 4, or 8-bit paletted, or 24-bit RGB planar (3 planes of 8-bit data) |
| 최대 크기 | 65,535 x 65,535 pixels (16-bit coordinates) |
| 투명도 | None (opaque legacy raster) |
| 스트리밍 및 프로그레시브 | Sequential scanline-by-scanline playback |
기술 비교 매트릭스: PCX 대 경쟁사
| 기술적 속성 | PCX (현재) | BMP | GIF | PNG |
|---|---|---|---|---|
| 활성 시대 | 1985 ~ 1995년 (MS-DOS 황금기) | 1990 ~ 현재 (Windows 표준) | 1987 ~ 현재 (웹 표준) | 1996 ~ 현재 (최신 웹 표준) |
| 압축 알고리즘 | 바이트 런 RLE 압축 | 비압축 / RLE | LZW 특허 무료 압축 | Deflate LZ77 압축 |
| 색상 아키텍처 | EGA/VGA 비트플레인 및 팔레트 지정 | DIB 스캔라인 | 인덱스 256색 | 트루컬러 24/48비트 + 알파 |
| 팔레트 위치 | EOF에 추가됨 (768바이트) | 파일 헤더 근처 | 파일 헤더 근처 | 임베디드 PLTE 청크 |
일반적인 손상 모드 및 헥스 복구 가이드
이미지 색상이 사이델릭 네거티브처럼 완전히 반전되거나 깨져서 렌더링됩니다.
근본 원인: 파일 끝에 누락되었거나 잘린 256색 VGA 팔레트 블록.
복구: 기본 VGA 팔레트를 다시 적용하거나 File2File PCX 변환기를 사용하여 PNG로 트랜스코딩하세요.
보안 분석 및 파서 공격 벡터
PCX 디코더는 런 길이 인코딩된 바이트를 스캔라인으로 처리하는데, 잘못된 형식의 런 카운트로 인해 힙 버퍼 오버플로우가 발생할 수 있습니다.
알려진 공격 벡터
- 스캔라인 너비를 초과하는 RLE 바이트 런 길이로 인해 버퍼 경계를 넘어선 메모리 쓰기 발생.
- 헤더에 선언된 플레인 수를 초과하여 플레인을 읽을 때의 버퍼 오버플로우.
- 손상된 팔레트 오프셋 계산을 통한 서비스 거부.
방어적 모범 사례:
역사적 배경 및 주요 이력
주요 장점
- 풍부한 역사적 의의: 초기 IBM PC 게임 및 셰어웨어 혁명의 기초 형식.
- 하드웨어 지향 평면 메모리 레이아웃을 통해 EGA/VGA 비디오 카드 메모리로 직접 복사 가능.
- 가벼운 RLE 압축은 저색상 일러스트레이션 및 다이어그램의 파일 크기를 줄여줍니다.
기술적 제한 사항 및 단점
- 구식화: 거의 모든 현대 워크플로우가 PNG 및 현대 래스터 형식으로 마이그레이션되었습니다.
- VGA 256색 팔레트가 파일 맨 끝에 추가되므로 색상을 디코딩하려면 전체 파일을 읽어야 합니다.
- 복잡한 사진 이미지에서는 비효율적인 압축률.
흥미로운 기술적 상식
- 모든 PCX 파일의 첫 번째 바이트는 항상 ZSoft의 내부 제조사 ID를 나타내는 0x0A(십진수 10)입니다.
- 8비트 PCX 파일에 256색 팔레트가 있는지 확인하려면 파일 끝에서 769바이트 지점으로 이동하여 0x0C(십진수 12) 바이트를 확인합니다.
- 울펜슈타인 3D(Wolfenstein 3D), DOOM, 듀크 누켐 3D(Duke Nukem 3D)를 포함한 클래식 PC 게임들은 홍보용 스크린샷과 메뉴 아트를 PCX 형식으로 저장했습니다.
자주 묻는 기술 질문
.PCX 파일을 만든 프로그램은 무엇인가요?
1980년대 IBM PC용 최초의 인기 그래픽 프로그램인 ZSoft PC Paintbrush이며, 마이크로소프트 마우스와 함께 번들로 제공되곤 했습니다.
구형 PCX 파일을 PNG나 JPG로 변환할 수 있나요?
네. File2File.app을 사용하면 역사적인 PCX 게임 텍스처와 아트워크를 브라우저에서 직접 선명한 최신 PNG 또는 JPG 이미지로 변환할 수 있습니다.
PCX 파일의 끝에 컬러 팔레트가 있는 이유는 무엇인가요?
1988년 256색 VGA가 도입되었을 때, ZSoft는 이전의 16색 디코더와의 하위 호환성을 유지하기 위해 마커 0x0C 앞에 768바이트 RGB 팔레트를 파일 끝에 덧붙였습니다.