HxD 설치 후 먼저 확인한 설정과 파일 수정할 때 조심한 부분

갑자기 바이너리 파일 헤더를 확인해야 할 일이 생겨서 HxD를 다시 설치했다. 메모장이나 일반 텍스트 편집기로는 안 보이는 값이 많고, 파일…
1 Min Read 0 23

갑자기 바이너리 파일 헤더를 확인해야 할 일이 생겨서 HxD를 다시 설치했다. 메모장이나 일반 텍스트 편집기로는 안 보이는 값이 많고, 파일 크기가 큰 경우엔 열리는 속도도 답답해서 헥스 에디터가 필요했다. 그중 HxD는 설치가 가볍고 바로 파일을 열어볼 수 있어서, 급하게 바이트 몇 개 확인하거나 수정할 때 손이 가장 먼저 가는 편이다.

써보면 화면 구성이 복잡하지 않다. 왼쪽에는 오프셋, 가운데에는 16진수 값, 오른쪽에는 문자 영역이 보여서 처음 접할 때도 덜 부담스럽다. 대신 편하게 보인다고 해서 바로 저장해버리면 원본 파일이 망가질 수 있어서, 설치 직후 몇 가지 설정은 먼저 바꿔두는 쪽이 훨씬 낫다.

설치하고 바로 확인한 옵션

HxD를 실행한 뒤 나는 먼저 Extras > Options 쪽부터 확인했다. 여기서 가장 먼저 본 건 백업 관련 항목이다. 파일 수정 실수가 생각보다 자주 나와서, 자동 백업이 켜져 있는지 확인해두면 마음이 편하다. 원본을 덮어쓰는 방식으로 작업할 때 특히 도움이 된다.

수정된 바이트가 빨간색으로 표시되는 점도 꽤 유용했다. 색상이 눈에 잘 안 들어오면 옵션에서 표시 색을 조금 더 강하게 바꿔두는 편이 낫다. 여러 위치를 연속으로 손볼 때 어디를 건드렸는지 바로 구분돼서, 저장 전에 다시 확인하기 편하다.

또 하나 자주 보는 건 상태 표시 방식이다. 오프셋 기준이 16진수인지, 선택한 길이가 어떻게 표시되는지 확인해두면 검색 결과를 메모해 둘 때 덜 헷갈린다. 초반에는 값은 찾았는데 위치를 다시 못 찾는 경우가 의외로 많았다.

실제로 자주 쓰게 된 기능

가장 많이 쓴 기능은 단순 편집보다 검색이다. HxD는 텍스트뿐 아니라 16진수 값, 정수, 실수 형태로도 찾을 수 있어서 특정 패턴을 찾을 때 편했다. 메뉴는 Search > Find, 여러 군데를 연속으로 넘겨보려면 Find next를 같이 쓰면 된다.

파일 비교도 생각보다 쓸 일이 있었다. 같은 프로그램의 설정 파일을 수정 전후로 비교하면 어떤 값이 달라졌는지 감으로 찾는 것보다 훨씬 빠르다. 패치 적용 전후 차이를 확인할 때도 유용했고, 단순히 용량만 다른 파일인지 실제 내용이 바뀌었는지 확인할 때도 도움이 됐다.

디스크 이미지나 물리 디스크를 여는 기능은 편하긴 하지만, 이쪽은 일반 파일 수정과는 위험도가 다르다. 잘못 건드리면 복구가 번거로워져서, 테스트 목적이 아니면 읽기 전용으로 먼저 확인하는 습관이 필요했다.

파일 수정 전에 해둔 방식

내가 실제로 많이 쓴 방법은 원본 파일을 직접 수정하지 않고 사본을 먼저 만드는 식이다. HxD에 백업 기능이 있어도, 작업 단위가 커지면 원본 파일을 폴더째 따로 보관하는 쪽이 더 안전하다. 특히 실행 파일이나 게임 리소스 파일은 한 바이트만 달라도 동작이 달라질 수 있다.

수정 후에는 바로 실행해 보기보다, 저장하고 다시 열어서 값이 원하는 위치에 제대로 들어갔는지 한 번 더 확인했다. 문자 영역만 보고 맞다고 생각했는데 실제로는 앞뒤 바이트를 잘못 덮어쓴 적이 있어서, 이 과정은 지금도 빼놓지 않는다.

팁 하나를 꼽으면, 값을 찾을 때 텍스트 검색과 16진수 검색을 번갈아 써보는 게 좋다. 화면 오른쪽 문자 영역에 보이는 문자열이 있다고 해서 꼭 텍스트 검색이 잘 잡히는 건 아니고, 인코딩 차이 때문에 못 찾는 경우가 있다. 이럴 때는 해당 문자열 주변 바이트를 보고 16진수 검색으로 바꾸면 더 빨리 찾을 때가 많다.

메모리 열기 기능은 편하지만 주의할 점도 많다

HxD에서 실행 중인 프로세스 메모리를 열 수 있는 기능은 분명 강력하다. 다만 권한 문제 때문에 관리자 권한이 필요한 경우가 있고, 보안 프로그램이 접근을 막는 경우도 있었다. 프로그램이 갑자기 닫히거나 값이 다시 원래대로 돌아오는 경우도 있어서, 파일 편집처럼 단순하게 생각하면 안 됐다.

메모리 편집은 대상 프로그램이 값을 계속 갱신하면 원하는 수정이 유지되지 않을 수 있다. 그래서 테스트할 때는 수정 전후 값을 메모해두고, 프로그램 동작에 따라 값이 바뀌는지 먼저 보는 편이 낫다. 한 번 바꿨는데 반응이 없다고 해서 곧바로 잘못 찾았다고 단정하기 어렵다.

설치할 때 불편했던 점과 헷갈린 부분

HxD 자체는 가볍지만, 처음 쓰는 사람 기준으로는 기능 이름이 조금 단순해서 어디에 뭐가 있는지 바로 안 보일 수 있다. 예를 들어 디스크 열기, 메모리 열기, 일반 파일 열기가 서로 성격이 다른데 화면상으로는 비슷하게 느껴질 수 있다. 그래서 처음엔 일반 파일만 다루다가, 익숙해진 뒤 다른 기능으로 넘어가는 편이 안전했다.

또 헥스 편집기는 실행 취소가 된다고 해도 안심하기 어렵다. 이미 저장한 뒤 프로그램을 닫았거나, 원본이 외부 프로그램과 연동된 상태였다면 되돌리기만 믿기 힘들다. 이 점은 HxD만의 문제라기보다 헥스 에디터 전체에서 공통으로 조심해야 하는 부분에 가깝다.

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

가볍게 열어서 빠르게 수정하는 용도에서는 HxD가 꽤 편했다. WinHex나 010 Editor처럼 분석 기능이 더 깊은 도구를 찾는 경우도 있지만, 단순히 헤더 확인, 특정 바이트 수정, 검색/치환 정도라면 HxD 쪽이 덜 복잡하게 느껴졌다. 설치 후 바로 쓸 수 있다는 점도 장점이었다.

반대로 템플릿 기반 분석이나 구조 해석 같은 작업을 자주 한다면 HxD만으로는 부족하게 느껴질 수 있다. 즉, HxD는 파일 내용을 직접 보고 손보는 쪽에 잘 맞고, 복잡한 포맷을 체계적으로 분석하는 작업은 다른 도구가 더 편할 수 있다.

지금도 HxD를 열면 제일 먼저 쓰는 건 검색 기능과 수정된 바이트 표시다. 큰 파일에서 원하는 위치를 찾고, 내가 건드린 부분만 다시 확인할 수 있는 흐름이 단순해서 자주 쓰게 됐다. 대신 디스크나 메모리 쪽은 기능이 강한 만큼 부담도 커서, 그 두 기능은 아직도 백업부터 해두고 만지는 편이다.

admin

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다