본문으로 건너뛰기
피드

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

general 약 6분
vote
0
댓글
북마크

단색 헥스덤프에서는 패턴이 보이지 않는다. 바이트 상위 니블마다 다른 색을 입히면 파일 포맷의 구조, 압축 데이터의 특성, 심지어 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

EU, 반도체·클라우드·AI 주권 패키지로 외부 의존 줄이기 시동

EU가 반도체법 2.0, 클라우드 및 AI 개발법, 오픈소스 전략 등을 묶은 기술주권 패키지를 공개했다. 단순히 공장을 유치하는 수준을 넘어 설계, 생산, 수요, 클라우드 인프라까지 유럽 내부 생태계로 묶겠다는 쪽에 가깝다.

general

이재명 정부 1년 평가, AI 산업정책은 점수 받았지만 온기는 덜 퍼짐

중앙일보가 한국경제학회 회원 100명을 대상으로 이재명 정부 1년을 평가한 결과, 자본시장 활성화가 가장 높은 점수를 받았고 AI 전환 중심 산업정책도 긍정적으로 평가됐어. 정부는 AI 예산을 2025년 3조3000억 원에서 2026년 10조1000억 원으로 크게 늘렸고, 국가 AI 컴퓨팅센터와 독자 파운데이션 모델 개발을 밀고 있어. 다만 반도체와 AI 붐의 수혜가 대기업 수출 중심으로 쏠리면서 실물경기와 지역 격차 문제는 여전히 남았다는 지적이 나왔어.

general

AI 대전환이 수도권 빅테크만의 잔치가 되면 답이 없음

한성숙 총리 후보자 지명을 계기로 AI 대전환을 지역 중소기업과 소상공인의 성장 전략으로 연결해야 한다는 사설이야. 반도체와 수도권 대기업은 호황을 누리지만 비수도권 제조업과 자영업자는 고환율, 고금리, 내수 부진에 눌려 있다는 문제의식이 깔려 있어. 부산항 피지컬 AI, 해양물류 데이터 플랫폼, 조선과 MRO 산업 디지털 전환 같은 지역형 과제가 제안됐어.

general

SM그룹, 건설·제조·업무 시스템에 AI 전환 속도 낸다

SM그룹이 건설, 제조, 서비스 계열 전반에서 AI 전환을 추진하고 있다. 스마트홈 플랫폼 도입, 제조 자동화, 구글 워크스페이스와 AWS 기반 클라우드 전환까지 묶어 그룹 차원의 AX 체계를 만들겠다는 흐름이다.

general

엑셀라가 솔라나를 연결하고, 국내 AI 빌더 행사도 열린 한 주

이번 기사에는 엑셀라의 솔라나 메인넷 연동, 해시드의 오픈AI 후원 빌더 행사, 문페이와 프랭클린 템플턴의 온체인 금융 파트너십이 함께 담겼다. 핵심은 블록체인 인프라가 체인 간 연결, AI 빌더 생태계, 기관용 토큰화 금융 쪽으로 동시에 확장되고 있다는 점이다.