SWUFORCE/워게임

PNG파일의 구조와 Chunk

hmyang444 2026. 4. 28. 17:14

PNG파일:  투명 배경을 지원하고 무손실 압축 방식을 사용하여 이미지 품질을 그대로 유지하는 래스터 이미지 파일 형식

PNG파일 시그니처: 89 50 4E 47 0D 0A 1A 0A(8Bytes)

PNG파일의 뒤에는 Chunk라는 그룹으로 나뉘어져서 이미지 정보가 저장됨

 

 

PNG Chunk

  • IHDR Chunk : 이미지 헤더 정보
  • PLTE Chunk : 색 공간 설명
  • IDAT Chunk : 이미지 데이터 정보
  • IEND Chunk : 이미지 끝(푸터)

 

IHDR: PNG 파일 맨 앞에 위치하는 청크
--> PNG 이미지의 크기, 필터링 방식, 압축 방식 등을 알 수 있다.

{
Length : 00 00 00 0D (4byte),
Chunk Type : IHDR(4byte),
{
  Width (4 byte),
  Height (4 byte),
  Bit depth (1 byte),
  Color Type (1 byte),
  Compression method (1 byte),
  Filter method (1 byte),
  Interlace method (1 byte),
}
CRC
}

 

Width, Height: 이미지의 너비와 높이
--> 이 부분을 조작하면 이미지를 바꾸거나  특정 부분을 감추는 것 등이 가능함!!

 

Bit depth: 하나의 채널이 몇 비트로 구성될 지를 정한다. 

 

Color Type: Color Type은 PNG 이미지의 색상을 어떻게 구성할 것인지를 정함

 

Compression method: 압축 방식

 

Filter method: 필터링 방식

 

Interlace method: 이미지 로딩이 완료되기 전에 먼저 해상도가 낮은 이미지를 보여주기 위하여 사용함

 

 

IDAT: 이미지 데이터 정보

PNG는 전체 이미지 데이터를 한꺼번에 압축한 뒤, 여러 IDAT 청크에 나누어 담는 방식을 사용함
그래서 모든 IDAT 청크가 있어야만 이미지 디코딩이 가능함

Encoding : Pixel Data -> Filter -> Compression -> IDAT Chunk DataDecofing : IDAT Chunk Data -> Compression -> Unfilter -> Pixel Data

 

IEND: PNG 파일의 끝을 나타냄
데이터를 담는 목적으로 사용되지 않으므로 길이는 항상 0

[출처: https://realsung.tistory.com/170]

 

'SWUFORCE > 워게임' 카테고리의 다른 글

워게임 - code & art  (0) 2026.05.01
워게임 - cat  (0) 2026.04.28
워게임 - LineFeed  (0) 2026.04.28
워게임 - lolololologfile  (0) 2026.04.07
Dreamhack_Don't Do(S) that!(forensic) - 패킷 분석  (0) 2026.03.31