0x0102

Memory Hacking 본문

Study/Game Hacking

Memory Hacking

jxxwxx 2024. 2. 13. 16:20

첫 번째 해킹에서는 "The Battle for Wesnoth"라는 게임을 사용하여 실습해보았다.

이 게임은 부정 행위 방지 메커니즘이 없는 무료 오픈 소스 게임으로 실습에서는 1.14.17 버전을 사용했다.

https://forums.wesnoth.org/viewtopic.php?t=54496

 

Wesnoth 1.14.17 - The Battle for Wesnoth Forums

Get help with compiling or installing the game, and discuss announcements of new official releases. Moderator: Forum Moderators Pentarctagon Project Manager Posts: 5455 Joined: March 22nd, 2009, 10:50 pm Location: Earth (occasionally) Post by Pentarctagon

forums.wesnoth.org

게임을 다운로드 받고 Multiplayer - Local Game으로 게임을 시작한다.

 

 목표: 게임에서 사용하는 화폐(골드) 조작

방법: 메모리 스캔 및 수정

도구 : 치트 엔진

https://www.cheatengine.org/

 

Cheat Engine

Cheat Engine Trouble installing/running Cheat Engine? Check out the known github issue here on how to solve it, or join the cheat engine patreon Read before download: You must be 18 years or older, or deemed an adult, to install Cheat Engine. Cheat engine

www.cheatengine.org

 

먼저 골드에 해당하는 메모리를 찾아야하므로 치트엔진을 열고 Wesnoth에 연결해준다.

좌측 상단 돋보기 컴퓨터 모양을 선택한 후 게임 프로세스를 선택한다.

 

게임 화면에서 기본값으로 75골드를 주고 있으므로 해당 값을 value 값에 넣어 검색해준다.

 

메모리 스캐너의 first scan은 타이머, 상대의 골드, 캐릭터 hp등 수천개의 결과를 반환하므로 필터링 작업을 추가로 해주어야한다.

 

따라서 게임에서 골드를 사용하여 스캔할 값을 수정한 후 next scan을 통해 필터링 해보도록하자.

 

75골드에서 21 골드를 사용하여 54골드가 되었으므로 54골드를 value에 넣고 next scan을 해준다.

 

스캔을 마치면 하나의 값이 필터링되어 나타나고 해당 값을 더블클릭하면 아래 화면에 편집 가능한 블록을 확인할 수 있다.

 

value 값을 54에서 2000으로 수정해주었다.

 

더 큰 값이 가능하기에 99999로 수정해주었다. 상단을 보면 게임화면에서 정상적으로 골드가 올라간 것을 확인할 수 있다.

 

변경된 골드로 수많은 유닛을 모집하여 게임을 쉽게 이길 수 있었다.

'Study > Game Hacking' 카테고리의 다른 글

Assembly Fundamentals  (0) 2024.02.14
Debugging Fundamentals  (0) 2024.02.13
Hacking Fundamentals  (0) 2024.02.07
Game Fundamentals  (1) 2024.02.06
Python - Game Development (충돌 처리)  (0) 2022.08.23