HxD 설치 후 먼저 확인한 설정과 파일 수정할 때 자주 쓰는 기능

바이너리 파일 안의 문자열을 직접 바꾸거나, 저장 데이터 일부를 확인해야 할 일이 있어서 HxD를 다시 설치했다. 메모장이나 일반 텍스트 편집기로는 내용이 제대로 보이지 않는 파일이 생각보다 많고, 간단한 수정 하나 하려 해도 헥스 에디터가 있어야 훨씬 수월했다.

예전에 다른 헥스 에디터도 몇 개 써봤는데, HxD는 설치 후 바로 쓸 수 있을 정도로 화면이 단순한 편이다. 메뉴가 복잡하게 겹치지 않고, 파일 크기가 큰 편이어도 버벅임이 심하지 않아서 지금도 가장 자주 열게 된다.

HxD가 필요한 상황

HxD는 단순히 16진수 숫자만 보는 프로그램이 아니라, 파일 내부 데이터를 직접 확인하고 수정할 때 쓰기 좋다. 예를 들면 깨진 문자열 확인, 바이너리 값 비교, 체크섬 확인, 특정 패턴 검색, 디스크 이미지 열기 같은 작업이 가능하다.

일반 사용자 기준으로는 EXE나 DLL을 고치는 용도보다, 저장 파일 분석이나 파일 헤더 확인 쪽이 더 자주 쓰일 수 있다. 확장자만 바뀌어 있어서 정체를 모르겠는 파일을 열어볼 때도 꽤 유용했다.

설치하고 바로 바꿔둔 항목

HxD는 기본값으로도 사용할 수 있지만, 몇 가지는 먼저 확인해두는 편이 편했다. 특히 실수로 원본 파일을 망가뜨리지 않도록 백업 관련 옵션은 꼭 보는 편이다.

확인한 메뉴: 도구 > 옵션

  • Backup files for overwrite-save: 덮어쓰기 저장 전에 백업 파일 생성
  • Open files in new tabs: 여러 파일을 탭으로 관리할 때 편함
  • Colors: 수정된 바이트 색상 확인용, 기본 빨간색도 충분히 눈에 잘 띔
  • Context menu integration: 탐색기 우클릭에서 바로 HxD로 열기

백업 생성 옵션은 특히 중요했다. 헥스 편집은 한 바이트만 잘못 바꿔도 파일이 통째로 안 열릴 수 있어서, 저장 전 백업이 자동으로 남는 쪽이 훨씬 안전하다.

실제로 많이 쓰는 기능

가장 많이 쓰게 된 건 검색과 바꾸기 기능이다. HxD에서는 텍스트뿐 아니라 16진수 값, 정수, 실수 형태로도 검색할 수 있어서 단순 문자열 편집기보다 훨씬 정확하게 찾을 수 있다.

자주 쓰는 메뉴: 검색 > 찾기, 검색 > 바꾸기

  • 텍스트 문자열 검색
  • 16진수 값 직접 검색
  • 정수/부동소수점 값 검색
  • 전체 파일 범위 또는 선택 영역 기준 검색

파일 내부 문자열만 살짝 바꿔야 할 때는 오른쪽 텍스트 영역을 같이 보면서 수정하면 훨씬 덜 헷갈린다. 반대로 구조 확인이 목적이면 왼쪽 오프셋과 가운데 헥스 값을 중심으로 보는 편이 낫다.

파일 수정할 때 헷갈렸던 부분

처음 HxD를 쓸 때 가장 조심했던 건, 글자를 그냥 지우고 짧게 바꾸면 파일 구조가 틀어질 수 있다는 점이었다. 텍스트 파일처럼 자유롭게 줄이고 늘리는 개념으로 접근하면 생각보다 문제가 생긴다.

특히 실행 파일이나 특정 포맷의 저장 파일은 길이가 고정된 영역이 많다. 이런 경우에는 원래 길이를 유지하면서 바꾸거나, 남는 부분을 00으로 채우는 식으로 수정해야 정상 동작하는 일이 많았다.

팁: 수정 전에는 분석 > 체크섬 같은 기능으로 원본 상태를 기록해두거나, 아예 파일을 복사해서 테스트용으로 따로 작업하는 편이 안전하다.

메모리 열기와 디스크 편집은 주의가 필요했다

HxD의 장점 중 하나가 실행 중인 프로세스 메모리를 열 수 있다는 점인데, 이 기능은 편리한 대신 실수했을 때 영향이 크다. 잘못 건드리면 프로그램이 바로 종료되거나 시스템이 불안정해질 수 있어서, 파일 편집보다 훨씬 조심해야 했다.

디스크 편집도 비슷하다. 물리 디스크나 디스크 이미지를 직접 열 수 있지만, 시스템 드라이브를 잘못 수정하면 복구가 번거로워진다. 이 기능은 파일 구조를 읽거나 부트 레코드, 파티션 정보 확인이 필요한 경우가 아니라면 자주 쓸 일은 많지 않았다.

다른 헥스 에디터와 비교해서 느낀 점

HxD는 기능이 많은 편인데도 화면이 비교적 단정하다. 다른 프로그램은 분석 기능이 더 깊거나 스크립트 확장이 강한 경우도 있지만, 설치 직후 바로 파일 열고 검색하고 저장하는 흐름은 HxD가 꽤 편했다.

반면 전문 리버스 엔지니어링 도구처럼 구조 해석을 자동으로 해주는 성격은 아니다. 어디까지나 바이트 단위 편집과 비교, 검색에 강한 쪽이라서, 파일 포맷 분석을 완전히 자동화해주길 기대하면 방향이 다를 수 있다.

자주 쓰는 단축키 몇 개

  • Ctrl + O: 파일 열기
  • Ctrl + F: 찾기
  • F3: 다음 찾기
  • Ctrl + R: 바꾸기
  • Ctrl + S: 저장
  • Ctrl + G: 특정 오프셋으로 이동

Ctrl + G는 생각보다 많이 썼다. 문서나 포럼에 특정 오프셋 주소가 적혀 있을 때 바로 이동할 수 있어서, 큰 파일을 일일이 스크롤하지 않아도 된다.

사용하면서 불편했던 점도 있었다

HxD가 초보자도 쓰기 쉬운 편이긴 하지만, 어떤 값을 왜 바꿔야 하는지까지 알려주는 도구는 아니다. 파일 포맷 지식 없이 무작정 수정하면 결과 확인이 어려울 수 있다.

또 텍스트 편집기처럼 되돌리기 감각으로 접근하면 위험하다. 수정 흔적이 색으로 표시돼서 구분은 잘 되지만, 저장 이후에는 원본 상태를 되돌리기 어렵기 때문에 백업 관리가 사실상 가장 중요했다.

내 경우 HxD에서 제일 자주 쓰게 된 건 복잡한 메모리 편집보다도 찾기오프셋 이동이었다. 큰 바이너리 파일 안에서 문자열 위치를 바로 잡아내고, 수정된 바이트가 색으로 표시되는 부분이 생각보다 편해서 이 두 기능 때문에 계속 열게 됐다.

댓글 남기기