MSG CTF 2026 · KOTH

픽셀 밀수.

15분마다 새 구간 코드와 채점 규칙이 공개됩니다. 팀 토큰으로 로그인하고 PNG 한 장을 제출하세요. 같은 4시간 동안 아래 네 규칙이 각각 네 번씩 등장합니다. 현재 규칙의 값이 낮을수록 높은 순위입니다.

구간별 채점 규칙

  1. 압축: PNG 파일 크기(B). 동점은 공동 순위.
  2. 바이트 다이어트: PNG 파일의 전체 바이트 값 합. 동점이면 파일 크기가 작은 쪽이 앞섭니다.
  3. 포스터: 목표 그림과 모든 RGB 채널의 절대 차이 합 + PNG 크기 × 2,000. 목표 그림은 해당 구간 화면과 API에서 공개됩니다. 동점이면 파일 크기가 작은 쪽이 앞섭니다.
  4. 연결: 37×37 QR 격자에서 검은 칸의 상하좌우 연결 덩어리 수. 동점이면 검은 칸과 흰 칸의 경계 수, 그다음 PNG 전체 바이트 값의 합이 적은 쪽이 앞섭니다.

통과 조건

  1. 이미지는 296×296 픽셀, 8비트 불투명 RGB PNG입니다. IHDR·IDAT·IEND 청크만 각각 하나씩 허용합니다.
  2. QR은 Version 3, 오류 복구 H, 알파뉴메릭 모드입니다. 8가지 공식 마스크를 허용합니다. 한 칸은 8×8 픽셀, 사방 여백은 4칸입니다.
  3. 각 픽셀은 모든 RGB 채널이 0~96인 어두운 색 또는 192~255인 밝은 색입니다. 한 QR 칸의 밝기 분류는 일정해야 합니다.
  4. 탐지 무늬·형식 정보·타이밍 무늬·여백 등 고정 칸은 원본과 같아야 합니다. 데이터 칸은 최대 8칸 바꿀 수 있습니다. 대회 QR 판독기가 여전히 이번 구간 코드를 읽어야 합니다.
  5. 구간 코드의 ASCII 바이트가 IDAT 압축 스트림 안에 연속해서 나타나고, 복원한 RGB 픽셀에서도 한 행 안에 연속해서 나타나야 합니다.

채점값과 해당 규칙의 모든 동점 기준이 같으면 공동 순위입니다. 파일은 512 KiB 이하입니다. 구간당 최대 30회, 제출 간격은 2초입니다. 서버는 참가자 코드를 실행하지 않습니다. 참가자 파일의 생성기와 로컬 검사기를 고쳐 자동으로 PNG를 제출할 수 있습니다.

PNG 앞의 고정 서명 때문에 파일 전체가 MSGCTF로 시작할 수는 없습니다. 이 문제는 IDAT의 실제 이미지 데이터 안에 문자열이 나타나는지를 검사합니다.

← 경기 화면으로