아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
해커뉴스 favicon해커뉴스

13KB 단일 파일 게임, 어떻게 만들었을까?

by DD
2026-01-12
6개월 전
조회수 33

13KB 크기의 단일 파일로 제작된 게임이 윈도우, 리눅스, 브라우저에서 실행되어 개발자들의 놀라움(Surprise)을 자아냄

리눅스 실행 파일 분석 결과, PT_DYNAMIC 헤더(Header)의 'unused' 필드를 활용하여 파일 크기를 줄인 것으로 확인됨

윈도우 실행 시 오류 발생, DEP(Data Execution Prevention) 설정 문제로 해결되었으며, 플랫폼별 실행 환경에 대한 논의가 이어짐

실행 파일 크기 최적화 기법

wasmperson의 댓글에 따르면, 개발자는 PT_DYNAMIC 헤더(Header)의 'unused' 필드에 동적 링커(Dynamic Linker)의 이름을 삽입하는 방식으로 파일 크기를 줄였다. 이는 실행 파일의 메타데이터(Metadata)를 활용하여 공간을 절약하는 기술로, 코드 압축(Code Compression)과 함께 파일 크기를 최소화하는 데 기여한다. 이러한 기법은 리버스 엔지니어링(Reverse Engineering)을 어렵게 만들 수 있다.

플랫폼별 실행 환경 분석

zamadatix는 브라우저, 리눅스, 윈도우 환경에서의 실행 결과를 공유했다. 브라우저에서는 .html 확장자로 변경하여 실행 가능했으며, 리눅스에서는 xz 패키지 설치 후 정상 작동했다. 윈도우에서는 DEP 설정을 끄자 실행에 성공했다. 이는 각 플랫폼의 실행 환경(Execution Environment)에 따라 필요한 설정이 다르며, 운영체제(OS)의 보안 기능이 실행에 영향을 미칠 수 있음을 보여준다.

단일 파일 내 멀티 플랫폼 지원

Tiereven은 해당 게임이 실제로는 단일 파일 안에 3개의 실행 파일을 포함하고 있다고 언급했다. 이는 각 플랫폼에 맞는 코드를 개별적으로 포함하여 플랫폼별 최적화(Platform-Specific Optimization)를 가능하게 한다. 기술적으로 보면, 멀티플랫폼 지원(Multi-Platform Support)을 위해 각 운영체제에 맞는 바이너리를 하나의 파일로 묶는 방식을 사용한 것으로 해석된다. 이러한 방식은 코드 재사용성(Code Reusability)을 높이는 데 기여한다.

This game is a single 13 KiB file that runs on Windows, Linux and in the Browser
중급
출시
C/C++
Linux
Windows
Browser
Shell
Frontend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

프랑스, 미국 기술 의존 탈피 선언: 윈도우(Windows) 대신 리눅스(Linux) 선택

해커뉴스 로고

윈도우(Windows)의 잦은 문제에 지쳐 리눅스(Linux)로 갈아탄 개발자의 이야기

레딧 로고

윈도우(Windows) 대신 리눅스(Linux)? 개발자들의 솔직한 경험담

해커뉴스 로고

윈도우(Windows)의 횡포에 지쳐 리눅스(Linux)로 갈아탄 개발자의 이야기

해커뉴스 로고

윈도우(Windows)는 사라질까? 마이크로소프트(Microsoft)의 미래는?

랍스타즈 로고

프랑스, 미국 기술 의존도 줄이고 디지털 주권 강화

레딧 로고
해커뉴스 favicon해커뉴스
중급
출시
C/C++
Linux
Windows
Browser
Shell
Frontend

관련 추천 글

프랑스, 미국 기술 의존 탈피 선언: 윈도우(Windows) 대신 리눅스(Linux) 선택

해커뉴스 로고

윈도우(Windows)의 잦은 문제에 지쳐 리눅스(Linux)로 갈아탄 개발자의 이야기

레딧 로고

윈도우(Windows) 대신 리눅스(Linux)? 개발자들의 솔직한 경험담

해커뉴스 로고