hexyl 0.17.0 Windows x64 한국어 설명서와 실습

대상 사용자: 프로그래머. 펌웨어 BIN, 바이너리 로그와 통신 패킷을 바이트 단위로 살펴보려는 Windows 사용자를 위한 자료입니다. 확인일: 2026-10-12.

hexyl은 터미널에서 파일을 16진수로 보여 주는 읽기 도구입니다. 파일 내용을 고치는 편집기나 장치 플래시 프로그램은 아닙니다. offset은 파일 시작부터의 바이트 위치이고, 문자 열은 사람이 읽기 위한 표시입니다. 형식과 길이 검증은 별도로 해야 합니다.

1. 다운로드와 설치

첨부된 hexyl-v0.17.0-x86_64-pc-windows-msvc.zip은 공식 Windows x64 ZIP을 바꾸지 않고 올린 파일입니다. 프로그램 본체와 LICENSE-MIT, LICENSE-APACHE, README.md, CHANGELOG.md, hexyl.1이 함께 들어 있습니다. MIT 또는 Apache-2.0 중 선택할 수 있는 라이선스이며, 이 배포본은 원본의 두 라이선스와 저작권 고지문을 모두 보존합니다. 공식 ZIP SHA-256:

ab5c3442cff63f585553d4fce330eaa1ef1bd2584643f1a0e29ab7c13fc9566d

공식 릴리스의 x86_64-pc-windows-msvc ZIP과 대응하는 값입니다. 아래 명령에서 파일 경로를 실제 다운로드 위치로 바꾸어 비교합니다. 이 값의 일치는 해당 공식 ZIP과 동일한 바이트임을 확인하는 것이며 게시자의 해시 문자열만으로 서명 인증을 대신하지는 않습니다.

Get-FileHash -Algorithm SHA256 -LiteralPath '.\hexyl-v0.17.0-x86_64-pc-windows-msvc.zip'
  1. Windows 시스템 정보에서 PC가 x64인지 확인합니다. ARM64·32비트 PC에서는 공식 릴리스의 대응 빌드나 운영체제의 지원 여부를 별도로 확인합니다. 이 첨부는 Windows x64용입니다.
  2. ZIP을 우클릭해 모두 압축 풀기를 실행합니다. 내부의 hexyl-v0.17.0-x86_64-pc-windows-msvc 폴더에 hexyl.exe가 있습니다. 별도 설치 프로그램과 관리자 권한은 필요하지 않습니다.
  3. 별도의 hexyl-0.17.0-ko-lab.zip도 압축을 풉니다. 그 안의 README-KO.md, README-KO.html, samples 폴더, verify.ps1을 hexyl.exe가 있는 폴더에 복사합니다. 원본 라이선스 파일을 지우지 않습니다.
  4. 그 폴더를 탐색기로 열고 주소창에 powershell을 입력해 PowerShell을 실행하거나, 터미널에서 해당 폴더로 이동합니다. 경로에 공백이 있으면 작은따옴표로 감쌉니다.
.\hexyl.exe --version
.\hexyl.exe --help

버전은 hexyl 0.17.0으로 표시됩니다. 실행 파일을 더블클릭하는 대신 터미널에서 파일 경로를 전달해 사용합니다. PATH 등록 없이도 ./hexyl.exe로 실행할 수 있습니다.

2. 첫 16바이트와 특정 구간 읽기

첨부 samples/packet.bin은 실제 고객 자료가 아닌 16바이트 합성 패킷입니다. 첫 네 바이트는 55 AA 10 00, 다음 두 바이트는 06 00, 이어서 HELLO와 줄바꿈이 있으며 마지막은 00 FF 80 7F입니다.

.\hexyl.exe --color=never --border=ascii --panels=1 '.\samples\packet.bin'
.\hexyl.exe --plain --length=4 '.\samples\packet.bin'
.\hexyl.exe --plain --skip=4 --length=2 '.\samples\packet.bin'

두 번째 명령에서는 55 aa 10 00, 세 번째 명령에서는 06 00이 보입니다. 출력의 대소문자와 줄 끝 공백은 데이터 내용과 무관합니다. --skip=4는 파일 처음부터 네 바이트를 건너뛰고 읽기 시작하며, --length=2는 그 위치에서 두 바이트만 읽습니다. 큰 BIN을 확인할 때는 필요한 구간을 지정하면 긴 출력을 줄일 수 있습니다.

3. 그룹 표시와 엔디언 읽기

06 00을 little-endian 16비트 정수로 해석하면 6입니다. 아래처럼 두 바이트씩 묶으면 이 부분이 0006으로 보입니다.

.\hexyl.exe --plain --skip=4 --length=2 --group-size=2 --endianness=little '.\samples\packet.bin'
.\hexyl.exe --plain --skip=4 --length=2 --group-size=2 --endianness=big '.\samples\packet.bin'

big-endian 표시에서는 0600으로 보입니다. 이 옵션은 그룹 안에서 화면에 출력하는 순서를 바꿉니다. 원본 파일의 바이트 순서와 파일 해시는 바뀌지 않습니다. 어느 엔디언으로 의미를 읽어야 하는지는 통신 규격이나 파일 명세가 정합니다. 그 명세 없이 예쁜 숫자만 보고 판정하지 않습니다.

4. 반복 구간과 파일 끝 확인

samples/repeated.bin에는 128개의 0 바이트 뒤에 TAIL 네 바이트가 들어 있습니다. 반복 줄의 생략 표시 때문에 실제 길이를 오해하지 않도록 offset도 확인합니다.

.\hexyl.exe --color=never --border=ascii --panels=1 --no-squeezing '.\samples\repeated.bin'
.\hexyl.exe --plain --skip=-4 --length=4 '.\samples\repeated.bin'

마지막 네 바이트의 예상값은 54 41 49 4c입니다. --no-squeezing은 같은 내용의 반복 줄을 생략하지 않고 출력합니다. 음수 --skip은 일반 파일의 끝에서 거꾸로 계산하는 위치입니다. seek가 불가능한 입력에는 같은 방식이 적용되지 않을 수 있습니다.

5. 실습 자동 확인

verify.ps1의 내용을 먼저 읽은 뒤 위에서 연 PowerShell에서 실행합니다. 스크립트는 실습 파일과 프로그램 버전을 검사하고, 원본 실습 파일이 실행 전후 동일한지도 비교합니다. 기존 파일을 수정하거나 관리자 권한을 요청하지 않습니다.

.\verify.ps1

성공 시 PASS: hexyl 0.17.0 / 8 checks / sample files unchanged가 표시됩니다. 조직의 정책이 스크립트 실행을 막으면 정책을 임의로 바꾸지 말고 위의 개별 명령으로 실습할 수 있습니다. 두 ZIP을 합치기 전에는 verify.ps1 옆에 hexyl.exe가 없어서 실행되지 않습니다.

6. 문제 해결

증상 확인·해결
명령을 찾을 수 없음 현재 폴더에 hexyl.exe가 있는지 확인하고 ./hexyl.exe를 사용합니다.
파일을 찾을 수 없음 Get-Location과 Get-ChildItem ./samples로 폴더를 확인합니다. 경로를 작은따옴표로 감쌉니다.
아무 파일 없이 실행한 뒤 멈춘 것처럼 보임 표준 입력을 기다리는 상태일 수 있습니다. Ctrl+C로 종료하고 파일 인자를 전달합니다.
색상 코드·테두리가 깨짐 --color=never --border=ascii --character-table=ascii로 실행하거나 ANSI를 지원하는 Windows Terminal을 사용합니다.
출력이 너무 넓음 --panels=1을 추가하거나 최소 출력용 --plain을 사용합니다.
같은 줄이 생략됨 --no-squeezing을 추가하고 offset과 파일 크기를 함께 읽습니다.
경로가 폴더임 hexyl에는 읽을 파일을 지정합니다. 폴더 목록은 PowerShell의 Get-ChildItem으로 확인합니다.
x64 실행 파일이 실행되지 않음 운영체제와 CPU 아키텍처, 공식 ZIP 이름을 확인합니다. 필요하면 공식 릴리스에서 맞는 빌드를 선택합니다.

7. 첨부 구성·삭제·출처

공식 출처:

옵션은 원본 설명서와 실제 0.17.0 --help를 함께 확인했습니다. 첨부 실습은 Windows x64에서 실행했으며, macOS·Linux용 바이너리를 이 ZIP에 포함하거나 그 환경의 실행을 검증한 자료는 아닙니다.