본문으로 건너뛰기
피드

헥스 에디터는 바이트에 색을 입혀야 한다 — 신택스 하이라이팅이 코드에 필수이듯

general 약 6분

단색 헥스덤프에서는 패턴이 보이지 않는다. 바이트 상위 니블마다 다른 색을 입히면 파일 포맷의 구조, 압축 데이터의 특성, 심지어 4비트 비트맵의 이미지 윤곽까지 육안으로 파악할 수 있다. 글쓴이는 18개 색상 그룹을 제안하며, 직접 Rust로 hexapoda라는 헥스 에디터도 만드는 중이다.

  • 1

    단색 헥스덤프는 인간의 시각 패턴 인식 능력을 낭비하는 UI다

  • 2

    Fossil Fighters 파일 포맷 분석 예시 4가지로 색상의 효과를 입증 — 인덱스 테이블, 허프만 트리와 비트스트림 경계, 4비트 컬러 비트맵 등

  • 3

    기존 hexyl의 5개 카테고리보다 상위 니블 기반 18개 그룹이 더 세밀한 패턴을 드러냄

  • 4

    압축된 데이터가 시각적으로 랜덤처럼 보이는 것은 압축 품질의 증거

  • 5

    hexyl, Hexerator, REHex, Hex Fiend 등 기존 도구 외에 글쓴이가 Rust+Ratatui로 hexapoda 제작 중

  • 헥스 에디터가 바이트를 단색으로만 보여주는 건 인간 뇌의 패턴 인식 능력을 낭비하는 짓임 — 코드에 신택스 하이라이팅이 필수듯 헥스덤프에도 색상이 필요함
    • 글쓴이(alice pellerin)는 바이트 하나하나에 색을 입히면 파일 구조가 눈에 뚜렷이 들어온다는 주장
    • 단색 헥스덤프에서 특정 바이트(예: 단 하나뿐인 C0)를 찾으라고 하면 눈알 빠짐. 색상 입히면 5초 컷

색이 있고 없고의 차이 — 네 가지 실제 예시

  • 예시 1 · KPS 파일 (Fossil Fighters 닌텐도 DS 게임 데이터)

    • 매직 바이트 KPS 뒤로 0~999(0x3E7) 범위의 리틀엔디안 32비트 정수가 연달아 있음
    • 색을 입히면 상위 두 바이트가 전부 00 00이라는 게 한눈에 보임 → 작은 정수들이라는 사실을 즉시 파악
    • 0x18 간격으로 숫자가 증가하는 패턴도 바로 감지됨
  • 예시 2 · DAL 파일 — 인덱스 테이블이 들어있는 포맷

    • 32비트 정수가 점점 커지는 시퀀스(파일 후반부 구조체를 가리키는 인덱스)
    • 거의 등간격으로 증가하는 값들이 레인보우 그라디언트로 시각화됨. 그림 보듯이 구조 파악 가능
  • 예시 3 · 허프만 압축 데이터 (NDS BIOS 호환)

    • 앞쪽 0x20 바이트는 허프만 트리 (대부분 00~0F, 일부 80대/C0대)
    • 뒤쪽 0x90 바이트는 압축된 비트스트림 (00~FF 전 범위에 고르게 분포)
    • 색상으로 보면 "트리 영역"과 "압축 데이터 영역"의 경계가 명확히 갈림
    • 압축 데이터가 유난히 "화려하고 카오스"한 이유 → 좋은 압축 알고리즘의 출력은 시각적으로 랜덤처럼 보인다는 사실을 체감
  • 예시 4 · 4비트 컬러 인덱스 비트맵 (Fossil Fighters에서 땅 파는 구멍 이미지)

    • 헥스 숫자 한 자리 = 픽셀 하나에 해당
    • 색을 입히면 헥스덤프 자체에서 이미지 윤곽이 보임. 오른쪽 아래 하이라이트까지 잡힘

중요

> 압축된 데이터가 색으로 보면 "거의 무작위"처럼 보이는 건 압축 품질의 시각적 증거임. 알고리즘이 패턴을 다 뽑아먹었다는 뜻

색상 그룹은 몇 개가 적당한가

  • 기존 도구들(hexyl 등)은 보통 5개 카테고리로 분류

    • NULL(0x00), ASCII 출력 가능, ASCII 공백, ASCII 제어문자, 비-ASCII(0x80~0xFF)
    • 스크롤 시 방향감각 유지엔 충분하지만, 세밀한 패턴은 안 보임
  • 글쓴이는 18개 그룹으로 확장 — 상위 니블(0X, 1X, 2X...)마다 하나씩 + 00/FF 전용 2개

    • ASCII 텍스트가 단일 시안색이 아니라 "초록+주황의 얼룩무늬"로 보임
    • UTF-8 비-ASCII는 단일 회색 대신 고유 패턴으로 식별 가능
    • 2의 보수 음수(BD FF FF FF), 머신 코드, 암호화 데이터, 컬러 팔레트, 변환 행렬까지 각자 시그니처가 생김

지금 쓸 수 있는 도구들

  • 헥스 뷰어

    • hexyl — 기본은 카테고리, 그라디언트 옵션 있음
    • xcd-rgb — 풀 레인보우 바이트 컬러링
    • hevi — 특정 파일 포맷의 섹션을 색으로 표시
    • xxd — 카테고리 색상 옵션 있음 (기본은 꺼짐)
  • 헥스 에디터

    • Hexerator — 풀 레인보우 + 기능 풍부
    • REHex — 여러 색상 옵션 (커스텀 포함), 기본 꺼짐
    • Hex Fiend — 카테고리 옵션 있음, 커스텀 색상도 손대면 가능
  • 글쓴이가 직접 만드는 중인 hexapoda — Rust + Ratatui 기반

    • Helix/Teehee 영향 받은 모달 에디팅, 멀티 커서, selection-first 조작
    • 아직 개인용이지만 관심 있으면 공개 가능성 있음

💡

> 헥스 에디터를 직접 개발하거나 기여하고 있다면 색상 그룹 늘리는 feature request는 비용 대비 효과가 압도적임. 최소한 00 바이트를 흐리게라도 처리하면 가독성이 확 올라감

리버스 엔지니어링, 게임 포맷 분석, 임베디드 펌웨어 디버깅 하는 사람이라면 즉시 체감할 만한 글이다. 바이트를 색으로 본다는 발상 자체가 '코드에 신택스 하이라이팅이 없던 시절'을 떠올리게 한다.

댓글

댓글

댓글을 불러오는 중...

general

AI 뜨니까 채용 800% 폭증한 연봉 4억 직무 'FDE'의 정체

팔란티어가 20여 년 전 만든 Forward Deployed Engineer(FDE) 포지션이 AI 시대의 가장 핫한 직무로 부상했다. 인디드 기준 작년 채용공고가 전년 대비 800% 증가했고 오픈AI는 연봉 16만~28만 달러를 내건다. 고객사에 밀착 투입돼 AI 솔루션을 커스터마이징하는 하이브리드 엔지니어 수요가 폭발 중이다.

general

ESCMID 2026 참관기, 데이터·AI·원헬스가 결합되는 감염병 대응의 새 흐름

뮌헨에서 열린 ESCMID Global 2026에서 감염병 대응이 데이터·AI·원헬스가 결합된 통합적 방향으로 확장되고 있다는 흐름이 확인됨. 항생제 내성의 사회·경제적 부담 정량화, Implementation science 기반 감염관리, 싱가포르 PREPARE 같은 사전 대응 인프라가 주요 키워드로 부각됨.

general

중국은 키우고 한국은 놓친다, AI 인재 정책 지속성·이해도의 격차

국회미래연구원 등이 개최한 토론회에서 전문가들은 중국의 AI 인재 정책이 생애주기 전 단계를 연계한 구조와 장기 지속성·신뢰에 기반해 폭발적 성장세를 보인다고 분석함. 반면 한국은 경직된 대학 구조와 단기 트렌드 중심 정책으로 병목이 심화되고 있다는 진단이 제기됨. 인재 생애주기별 전략과 20년 단위 투자 구조가 필요하다는 제언이 이어짐.

general

Tim Cook이 은퇴한다 — Stratechery가 본 15년 Apple 경영의 빛과 그림자

Tim Cook이 9월 1일자로 Apple CEO에서 물러나 Executive Chairman이 된다. Ben Thompson은 재무적 성공(시총 1,251% 증가)과 운영 천재성은 인정하면서도, 중국 의존과 Siri에 Google Gemini를 채택한 결정이 Cook 자신의 '핵심 기술을 소유·통제하라'는 독트린을 위배한다고 평가한다.

general

킨들 10년 쓴 사람이 "이제 안 산다" 선언한 이유 — 아마존의 구형 기기 단종과 DRM 정책

10년 넘게 킨들을 써온 테크 라이터가 아마존의 구형 하드웨어 단종 정책, 광고 중심 UI, 독서 데이터 텔레메트리를 이유로 킨들 생태계를 떠난다는 선언문. 대안으로 Kobo(ePub 표준, iFixit 수리 지원), Onyx Boox(풀 안드로이드 e-ink), Calibre(DRM 해제 및 로컬 라이브러리 관리)를 제시함.