노하우

[HxD] Hex Editor 프로그램 다운로드 및 사용법

HxD 공식 아이콘

 

Hex Editor(이하 Hxd), 헥스 에디터 또는 헥스 코드 에디터라는 명칭을 일컫고 있으며 이 프로그램에 대해 상세히 알고 시작하기 전에 기본적으로 알아둘 게 있습니다. 헥스(Hex)는 일반적으로 '십육진법(16진법[Hexadecimal])', 16을 밑으로 하는 기수법이고 보통 숫자는 0부터 9까지와 로마 문자 A부터 F까지 대소문자 구별 없이 구성 되어있습니다.

 

0hex 0 0 0 0 / 1hex 0 0 0 1 / 2hex 0 0 1 0 / 3hex 0 0 1 1... / Fhex 1 1 1 1 까지 총 16진수로 되어있는 걸 알아두시면 되고 이 숫자와 2진수 형식의 코드를 해석하고 편집할 수 있습니다. 즉 핵심은 이 Hex Editor 프로그램을 사용하면 다른 응용 프로그램 소프트웨어가 파일 형식과 연결할 수 있는 동일한 내용을 해석하는 것과 달리, 파일의 원본 내용과 정확한 내용을 보거나 편집할 수 있는 얘기가 되죠.

 

또 달리 비슷한 프로그램으로는 유료 Tool인 Ultra Editor(울트라 에디터)가 존재합니다. 하지만, 앞서 서술할 Hex Editor는 물론 무료로 배포되며 얼마든지 다운로드할 수 있습니다. 조금 밑으로 내려가 보시면 링크가 있고 다운로드 절차를 잘 따라오시면 사용법도 기본적으로 알려드리겠습니다.

 


 

<2020년 3월 23일 게시 기준>

 

https://mh-nexus.de/en/hxd/

 

HxD - Freeware Hex Editor and Disk Editor | mh-nexus

HxD - Freeware Hex Editor and Disk Editor HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size. The easy to use interface offers features such as searching and

mh-nexus.de

 

최신 버전에 Download page를 클릭하시면 다음 페이지로 넘어갑니다.

 

나라마다 번역 지원되는 페이지, 모두가 알아볼 수 있는 한국어로 Download per HTTPS 클릭하시면 다운로드가 시작됩니다.

다운로드로 받은 'HxDSetup'이라는 압축 파일을 풀고 설치 및 실행하시면 'HxD'로 된 아이콘의 프로그램을 사용할 수 있습니다. 여기까지 잘 따라오셨다면 무려 딱 50%, 절반 정도로 잘 따라오신 거예요. 이제 아주 기본적인 테스트로 된 사용법도 잘 이해하면서 따라 사용할 수 있겠죠?

 

HxD 프로그램 메인화면

지금 보시는 이 화면은 HxD 프로그램을 실행한 뒤 나오는 화면입니다. 어떻게 시작해야 될지 두려워하지 마시고요. 프로그램을 마구 다룬다고 해서 고장 나도 다시 다운로드하고 실행하면 되는 거니까 스스로 이것저것 건드려가면서 배우셔도 괜찮습니다. 기본적인 테스트를 하기 전에 구동 원리를 알기 위해서 먼저 '파일(F)' - '새로 만들기(N)' 클릭하시면 '무제1' 파일이 나타납니다.

 

HxD 무제1로 된 파일의 내용

먼저 Offset(h)은 00부터 0F까지 등 일반적인 HEX 값을 나타내는 표시, 중앙에 있는 숫자 HEX 값, Decoded text는 HEX 값을 영어로 전환. 이렇게 대표적으로 세 가지만 이해하시면 문제없고 사용 방법의 기본적인 단계를 아예 마친 셈입니다. 그럼 가볍게 한 번 입력해볼까요?

 

내용을 입력하는 동시에 HEX 값과 Decoded text가 출력

가장 먼저 Decoded text에 있는 내용 "ABC"를 입력하니까 HEX 값인 0x41, 0x42, 0x43이 출력되어 나왔네요. 반대로 HEX 값을 입력하시면 마찬가지로 Decoded text에 똑같이 출력됩니다. 조금 실험해본 결과 HEX 값에서 0x1~0x19까지는 .(점)만 나오고 0x20부터 0x29까지 키보드 자판에 있는 특수문자, 0x30부터 0x39까지 일반 숫자, 0x41부터 0x7A까지 영어 대문자, 소문자로 나오는데 16진법으로 계산해서 출력됩니다.

 

미리 Test1 메모장 파일을 만들어두고 HxD 프로그램에서 해당 파일을 열기

이제부터 본격적으로 HxD 기본 사용법에 대해 알아볼 건데요. 따로 "Test1" 내용이 들어있는 메모장 파일을 만들어서 저장해둔 뒤 HxD 프로그램을 실행해서 파일(F) - 열기(O), 위에 사진처럼 열기 창이 나타나는데 Test1이라는 메모장 파일을 열어주시면 됩니다.

 

해당 메모장 파일 내용을 확인

위에 나온 내용을 확인해보시면 HEX 값이 "54 56 73 74 31" 그리고 Decoded text에 "Test1"이라고 나와있죠? 일반적으로 출력이 잘 된 겁니다. 자, 다음은 "Test1"을 조금 살짝 수정해서 "Test2"으로 수정하고 싶은데 그러면 어떻게 해야 될까요?

 

해당 메모장 파일 내용을 수정

바로 HEX 값 또는 Decoded text를 원하는 숫자 및 영어를 입력하고 수정하시면 빨간색이 뜹니다. 이러한 방법으로 타 사용자가 원하는 사용자에게 전달할 때 그 파일 알 수 없거나 잘못된 내용이 있을 경우가 있습니다. 그럼 제 3자가 직접 파일을 뜯어보고 수정한 뒤 다른 파일로 배포할 수 있는데 그게 대표적인 예시는 바로 프로그램 내 영어를 한국어로 번역하거나 게임 내 자막을 한글화(한글패치)하는 방식이 있습니다.

 

파일 내용과 이름을 "Test2" 텍스트로 수정하고 저장

물론 .txt 형식의 메모장 파일뿐만 아니라 .exe(cmd 형식)나 여러 가지 언어(C, C#, JAVA)와 편집기 화면, HTML 등 파일 변환해서 저장하고 공유할 수 있으며 더 나아가 단일 메모리나 응용 프로그램 등을 수정할 수도 있습니다. 하지만, 이를 악용(코드 어지럽게 하거나 바이러스 심기)하는 사람도 존재해서 그런 점이 정말 아쉬워요.

 

짜잔!

Text(.txt) 파일을 인코딩하는 기능이 안 보여서 당황하셨을 텐데 해당 파일을 우클릭해서 연결 프로그램으로 메모장 파일을 연결하시면 잘 작동하여 활성화됩니다. 사실은 HxD 툴 자체가 무료인 점이랑 용량이 적고 가볍게 편집할 수 있는 게 장점이지요. 그러나, 단점은 Text 인코딩 기능이 없어서 Text 편집에 조금 불편합니다.

 

그래도 조금의 수정 하나에 누군가에게 도움이 되고 또 누군가에게는 편리할 거예요. 사실은 저도 HxD 프로그램에 대한 글을 작성하면서 처음으로(!) 다뤄보다가 갑자기 게임 자막 한글화(한글패치)에 흥미 생기기 시작해서 지금부터 공부하려고 합니다.

 


 

여기까지 [HxD] Hex Editor 프로그램 다운로드 및 사용법을 이상으로 마치겠습니다. 감사합니다.