이 가이드는 Assault Cube의 메모리를 분석하여 총알, 방어구 등 원하는 값의 위치를 찾고 기반으로 프로그램을 만듭니다.
Cheat engine에 대한 기초적인 지식이 없으신 분들은 치트엔진에 대해 먼저 공부하시길 바랍니다.
1. 해킹할 게임인 Assault cube를 설치합니다 https://assault.cubers.net/
2. Cheat Engine에 Assault Cube를 attach 시킵니다.
3. 값을 바꿔가며 총알이 저장된 메모리를 찾아주세요.
4. 정확한 위치인지 확인하기 위해 Address List에 해당 메모리를 추가하고 값을 바꿔봅시다!
5. 10000으로 바꿨습니다. 제대로된 주소를 찾았네요!
7. 하지만 우리가 찾은 028FA498 메모리는 동적 주소입니다. 즉 항상 같은 곳에 위치하는 게 아닙니다. 동적 주소를 담고있는 정적 주소를 찾아야 합니다 그 주소를
치트엔진에서는 포인터라 부릅니다 다시 말해 해당 주소의 포인터를 찾아야 합니다.
[!] 프로그래밍에서의 포인터랑, CheatEngine에서의 포인터는 같은 개념이지만 살짝 다릅니다, 우리가 아는 포인터는 변수의 메모리 주소를 저장하는 변수입니다.
치트엔진에서도 같습니다 값으로 다른 메모리 주소를 갖고 있지만 추가적으로 본인이 위치한 주소가 정적입니다.
우리는 정적주소를 이용해 프로그램에서 게임 프로세스 메모리에 모듈베이스 + 주소로 안정적인 접근이 가능합니다.
다음 강좌엔 ASLR, Module base를 알아보겠습니다. (글 쓰다가 담배 마려워서 피러감)
너무 귀엽노 제대로 리버싱을 해보거라 ㅇㅅㅇ!
오디갔오 ㅇㅅㅇ.. 더 연재해줭 흥미로워 ㅇㅅㅇ