진행
- 2026-11-21 12:00 공개, 18:00 종료
- 12:05부터 5분마다 채점, 총 72라운드
- 모든 시각과 라운드 전환은 서버 시간 기준
- 개인 토큰으로 로그인하며 토큰은 운영진이 참가자별로 발급
- 순위는 전체 및 중등부·일반부·고등부로 구분
KING OF THE HILL
Glasshouse bytecode challenge
RULES
익스플로잇을 제출하고, 매 라운드 Cost를 줄여 순위를 경쟁합니다.
Glasshouse VM의 메모리 경계 오류를 이용해 host memory의 48바이트 Layer7{...} flag를 복구하고 정확히 출력해야 합니다.
.ghb raw bytecode12라운드마다 VM 취약점, memory image, 암호화 방식과 opcode encoding이 변경됩니다. 새 Stage는 매시 정각에 공개되고 첫 채점은 5분 뒤입니다. 이전 Stage 제출물은 새 Stage에 이월되지 않습니다.
| Stage | 기본 공개 | 라운드 | 라운드별 W |
|---|---|---|---|
| Stage 1 | 12:00 | 1–12 | 512 → 1 |
| Stage 2 | 13:00 | 13–24 | 512 → 1 |
| Stage 3 | 14:00 | 25–36 | 512 → 1 |
| Stage 4 | 15:00 | 37–48 | 512 → 1 |
| Stage 5 | 16:00 | 49–60 | 512 → 1 |
| Stage 6 | 17:00 | 61–72 | 512 → 1 |
.ghb 파일 1개, 1–512바이트검증에 성공한 현재 Stage의 최근 제출물이 자동으로 사용됩니다. 새 제출이 실패하면 같은 Stage의 기존 정상 제출물은 유지됩니다.
참가자별 제출 파일은 최근 25개만 보관합니다. 각 Stage의 최근 정상 제출물은 fallback을 위해 우선 보호됩니다.
expired로 표시되고 재사용되지 않음채점 시각 전에 업로드된 현재 Stage 제출물의 검증이 끝날 때까지 기다린 뒤, 그중 가장 최근 정상 제출물을 3개 hidden instance에서 실행합니다. 하나라도 실패하면 해당 라운드는 0점입니다.
Cost = payload bytes × 현재 라운드 W + 3개 실행의 gas 합계파일의 모든 바이트가 집계됩니다. 성공한 참가자만 Cost 오름차순으로 순위를 정하며 Cost가 낮을수록 높은 순위입니다.
순위 n의 점수 = 100 / (1 + 0.08 × (n - 1))점수는 소수점 둘째 자리까지 반올림하고 모든 라운드 점수를 누적합니다. 동일 Cost는 공동 순위로 처리하며, 공동 순위가 차지한 모든 순위 점수의 평균을 각 참가자가 받습니다.
예: 두 참가자가 1·2위 자리를 공동으로 차지하면 모두 1위로 표시되고 각각 (100.00 + 92.59) / 2 = 96.30점을 받습니다. 다음 참가자는 3위입니다.
종합 스코어보드는 누적 점수, 1위 횟수, 참가자 이름순으로 표시됩니다. 누적 점수와 1위 횟수가 모두 같으면 공동 종합 순위로 처리합니다.