HxD는 hex editor다.
본 포스트에서는 게임의 save file을 불러와서 hex editing을 해보겠다.
UI 설명
HxD를 실행하면 위에 사진과 같은 UI가 뜰 것이다.
16은 한 줄에 몇 바이트를 출력할 것인지를 의미한다.
Windows(ANSI)는 어떤 디코딩을 사용할 것인지 의미한다.
Hex는 어떤 number base로 출력할 것인지 의미한다.
Search
특정 정보가 위치한 곳을 찾고 싶을 때 Search 기능을 사용할 수 있다.
예를 들어, 게임 저장 파일을 열고 골드를 건드리고 싶다 하자.
현재 보유한 골드는 88골드라고 하면,
Ctrl + F를 눌러보자.
위와 같이 Find 창이 뜬다.
Integer number 탭에서 88을 검색해보자.
Byte order는 Little Endian으로 지정해야함에 주의하자.
Little Endian/Big Endian에 대해서 간략하게 설명하면,
0xAB 0xCD 두 바이트 데이터가 있으면
Little endian은 0xCD 0xAB 순으로 읽는다. 그래서 0xCDAB(=52,651)를 의미하게 된다.
File comparison
게임의 골드가 저장되는 위치를 찾고 싶다고 하자.
골드가 100원일 때 save file을 저장하고
골드가 88원일 때 save file을 저장하자.
HxD에서 Analysis - Data Comparision - Compare에 들어가자.
Data source 1, 2번에 각각 골드가 100원일 때 save file을 넣고 골드가 88원일 때 save file을 넣자.
두 파일이 함께 뜨는데 F6을 누르면 차이가 있는 곳을 순회하면서 볼 수 있다.
한쪽이 0x64(100)이고 한쪽이 0x58(88)인 곳을 찾아보자.
이상 HxD에 사용법에 대한 설명을 마치겠다.
'Cheating' 카테고리의 다른 글
Wesnoth 해킹하기 (3) Assembly 변경 (1) | 2024.02.27 |
---|---|
Wesnoth 해킹하기 (2) Memory Scan (1) | 2024.02.27 |
Wesnoth 해킹하기 (1) 기본세팅 (0) | 2024.02.27 |
Hex Editing 정리 (0) | 2024.02.24 |
Microsoft Process Monitor 사용 방법 (0) | 2024.02.20 |