Fascination
article thumbnail

게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 5단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #6)


# 튜토리얼 5

 

- 이번 문제는 특정한 메모리 주소에 접근하는 어떠한 기계어를 발견하는 방법을 알고 있으면

쉽게 해결할 수 있음

- 문제 내용

> 버튼을 누를 때 마다 값이 바뀌는데, 값이 바뀌도록하는 기계어 자체를 무효화해서

버튼을 눌러도 값이 변경되지 않도록 해야 함

> 어떤부분이 실질적으로 이 주소에 접근하는 기계어인지 찾아내서

그것을 대체(아무것도하지않는 코드)해야 함

 

- 100이란 값을 scan해서 어떠한 기능이 이 변수에 접근하여 기능을 하는지 알아내야함

- 정수형 값을 발견하면 4byte라고 이해하면 편함

→ 4byte가 안되면 2 byte or 8byte로 검색

 

- change value버튼을 눌러 값을 변화시킴

 

- Next scan을 통해 변화된 값의 주소를 찾음

 

- 더블 클릭하여 주소 리스트에 추가한 후, 오른쪽 마우스 버튼을 눌러

Find out what writes to this address 클릭

→ 실질적으로 어떤 기능이 이 변수에 접근을 하는지 검사

 

- Find out what writes to this address를 통해 해당 메모리 주소를 추적학고 있는 걸 확인할 수 있음

즉, 우리가 원하는 값이 담긴 변수의 메모리 주소를 추적하고 있는 상태이기 때문에

change value 버튼을 눌러서 값이 바뀌게 되면, 어떤 기계어가 이 값을 바꾸는지 확인할 수 있게 됨

 

- 하나의 기계어가 색출됨

- 여러 개의 기계어가 메모리 상에 올라와 있는데, 현재 실행된 부분을 "<<"로 표시하고 있음

- mov: 특정한 변수의 값을 대체하기 위해서 사용하는 기계어(어셈블리어)

→ 지금 문제에서 버튼을 누르면 값이 바뀌니까 사용된 것

 

- replace 버튼을 눌러 기계어를 대체시킬 수 있음

- NOP: 아무런 역할도 수행하지 않는 기계어로 메모리 공간만 차지하고 아무 기능도 수행하지 않음

값을 바꾸는 기능을 이 NOP로 대체시켜 아무것도 동작되지 않도록 만드는 것임

- OK를 누르고 Stop을 눌러 적용시킨 후 Close를 클릭하여 창을 빠져나옴

 

- change value버튼을 한 번 더 눌렀을 때 값이 변경되지 않고

Next 버튼이 활성화됨

 

5단계 튜토리얼을 해결했음 !!

profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!