효투의 세상 로딩중...
효투의 세상 로딩중...
반응형

 

게임 해킹에서 대표적으로 사용되는 도구는 치트엔진(CheatEngine)이다.

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

나도 메모리가 뭔지도 모르던 초등학생 시절에 사용해본 적이 있으니 도구 자체는 굉장히 오래되었다.

크레이지아케이드가 국민게임이던 시절에

500루찌 주머니 하나에 울고 웃던 당시 치트엔진을 통해 특정 메모리를 변조하면

방에서 게임을 시작하면 무조건 루찌방이 나오는 그런 기억이 있다.

 

리버싱에대한 지식이 거의 전무하지만 피카츄배구로 다들 시작하는 것 같아서 

사용법 정도만 익혀보려한다.

시작화면은 아래와 같다 

왼쪽 모니터 아이콘을 클릭해서 현재 실행중인 프로세스에 붙을 수도 있다

 

가장 간단한 스코어 변조부터 해보자

피카츄 배구에서 1p의 스코어를 1점으로 한 다음

 

메모리 스캔을 해준다.

그럼 '1'이란 값을 가지고 있는 모든 메모리 주소를 찾아준다

 

너무 많아서 1p의 스코어가 어떤 주소값에 담겨있는지 확인할 수 없다

게임에서 2점을 얻게끔 해준다

 

다시 메모리 스캔

 

Next Scan을 이용해 기존 1이란 값에서 2로 바뀐 메모리들의 주소를 확인할 수 있다

아까보다 현저히 줄어들어 5개의 주소값이 출력되었고 

검색된 메모리들 중 1p의 스코어가 담긴 메모리가 있을 것이다.

같은 방법으로 3점까지 얻은 다음 메모리스캔

 

1P의 점수가 담기는 메모리 주소는 02323CE4이다

해당 값의 Value를 변조한다면 스코어 변조가 된다

 

이렇게 간단하게 스코어 변조를 할 수 있고 

좀 더 나아가서 몬스터볼이 어디로 떨어지든 간에

1p의 점수가 올라가도록 해보자

먼저 스코어의 메모리 주소가 어디에서 반영되는지 파악해야한다 (단축키 F6)

 

반응형

F6을 통해 동작 방식을 확인 결과

00403C4A - FF 44 86 3C  - inc [esi+eax*4+3C]

위 와 같은 주소에서 값이 increase 되는 것을 확인할 수 있다.

 

Show disassembler 버튼을 누르면 아래와 같이

어셈블리로 피카츄배구를 볼 수 있고 변조또한 가능하다

증가 되는 조건은 아래와 같다

 inc [esi+eax*4+3C]

그럼 무조건 1p 스코어의 주소값에 도착하게끔 하면 공이 어디에 떨어지든 1p의 스코어가 오를 것이다.

위에서 확인한 결과

레지스터 esi의 값은 02323CA8

eax의 값은 00000000 이다

02323CA8 + (00000000 x 4) + 3C 와 같은 수식이 만들어지는데

0x4는 0이니 무시해도되고 02323CA8 + 3C = 029F3CE4 가 나온다

아까 1P 스코어 주소값이 029F3CE4 였으니 지금도 무조건 1P가 오르는게 아닌가 싶었지만

같은 방법으로 2P의 스코어 주소값과 메모리에 쓰여지는 방식을 확인해보면

eax값이 1이 되면서 1 X 4 로 4가 추가된다

그리고 2P의 주소값은 1P의 주소값보다 4만큼 더한 주소값이된다.

그럼 2P 스코어가 올라가는 조건이되는 eax*4를 지워보자

 

그럼 아래 영상과 같이 2P가 이겼음에도 1P의 점수가 오른다

 

다시 어셈블리를 변조해서 공이 어디에 떨어지든 2P의 스코어에 영향이 가게끔 4값을 더해주면

02323CA8 + 4 + 3C 

esi+40이 되고 

증가가아닌 decrease 감소로 하게되면

아래 영상과 같이 2P가 이겼음에도 2P의 점수가 깎이게 된다

 

 

치트엔진 기본 사용법 끝

 

반응형
  • hyotwo7658@gmail.com

복사 완료 👍