① - 강의 개요 및 게임 실행
- VisualBoyAdvance(에뮬레이터): 옛날 게임을 현대 컴퓨터에서 구동시키기 위한 가상환경 도구로 오픈소스로 관리되고 있다.
- VisualBoyAdvance 프로그램을 실행하고 그 안에 분석할 게임을 드래그한다.
- 기본적으로 space bar를 누르면 게임을 빠른 속도로 실행할 수 있다.
1. VisualBoyAdvance 프로그램 실행 |
2. 파일 열기를 클릭하기 |
3. 포켓몬 파이어 레드 열기 |
4. 게임 실행 |
② - 포켓몬 경험치 및 레벨 조작하기
치트엔진을 이용하여 몬스터와의 결투 후 경험치 변화를 확인한 뒤 관련된 변수의 value를 조작하여 레벨 조작을 시도한다.
1. 전투에서 승리하여 23 exp를 획득하였다.
2. 치트엔진에서 23라는 value를 가진 변수를 찾아본 뒤 한 번 더 전투를 진행하여 변화된 값을 또 가지는 변수를 찾는다.
3. 이렇게 나온 변수를 주소 리스트에 등록시킨다.
4. 주소 리스트에 등록된 변수들의 value를 조작해준 뒤 다시 게임을 실행해보면 조작된 경험치 값으로 레벨이 오른다.
(주소 리스트에 변수가 여러 개 등록해야 하는 경우, 게임 실행 후 하나의 변수의 value 값만 변화하는 것을 포착 가능)
+) 변수 상태를 active한 뒤 게임을 실행하면 레벨업 해도 value 값의 변화가 없어지고 무한대로 레벨업 가능
③ - 포켓몬 능력치 조작하기
능력치값이 증가하는 순간은 레벨업을 할 때 이기 때문에 레벨이 오르는 순간을 치트 엔진을 통해 분석하여 해당하는 변수 값조작 시도한다.
1. 전투에서 얻은 경험치 값을 치트 엔진에 입력하여 해당하는 변수를 찾는다 ( ② 처럼 )
2. 레벨업시 HP 값이 변화하게 되는데 이때도 치트엔진을 이용해 해당하는 변수를 주소리스트에 등록한 valued을 조작한 뒤 active시킨다. (같은 방식으로 다른 능력치 조작 가능)
④ - 상점 구매 가격 조작하기
상점에서 팔고 있는 아이템의 가격을 치트엔진에 입력한 뒤 구매 개수를 늘려 해당 아이템의 변화되는 총 가격을 보여주는 변수를 찾아 주소 리스트에 등록하여 value를 0으로 바꾼 뒤 active 시키면 구매를 항상 0원에 할 수 있게 조작한다.
1. 상품이 1개 일 때 가격이 200이니 치트엔진이 200 입력한 뒤 scan하고 개수를 8개로 변경한 뒤 1600 입력 후 scan
2. 해당하는 변수의 value를 0으로 변경한 뒤 active 시킨 후 아이템 구매를 시도하면 0원에 항상 구매 가능하다
'4-6. 2022-1 심화 스터디 > 모바일 게임 해킹' 카테고리의 다른 글
[2022.05.07] 치트 엔진(Cheat Engine)을 활용한 게임 해킹 강좌 (0) | 2022.05.14 |
---|---|
치트 엔진(Cheat Engine)을 활용한 게임 해킹 강좌 튜토리얼 1~5 정리 (0) | 2022.04.04 |
[2022.03.26] 모바일 게임 해킹(Unity편) - Part 2.2 ~ Part 3.2 (0) | 2022.03.27 |
[2022.03.19] 모바일 게임 해킹(Unity편) - Part 0 ~ Part 2.1 (0) | 2022.03.19 |
[2022.03.12] APK 구조 분석 및 decompile&repackaging (0) | 2022.03.13 |