Fascination
article thumbnail

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


# 튜토리얼 6

- 포인터에 대해 물어보는 문제

- 포인터 변수: 컴퓨터 메모리 주소를 저장하는 변수

  > 특정한 메모리 주소에 빠르게 접근하여 값을 변경하거나 활용할 수 있음

 

- 문제 요약

>Change value button: 포인터가 가리키고 있는 200이라는 값을 바꾸는 역할

> Change pointer button: 포인터 자체를 다른거로 바꾸는 기능

> 외관상으로는 똑같이 값이 바뀌는 것 같지만 내부적으로는 포인터의 값을 바꾸거나

포인터가 가리키고 있는 어떠한 변수의 값을 바꾸는 두 가지 일을 하는 것

 

- 현재 값 100을 가지로 first scan 진행

 

- Change value button을 눌러 값을 변경시킴

 

- 어떤 변수가 변하는지 next scan을 통해 찾음

 

- 더블 클릭하여 주소 리스트에 추가

 

- Change pointer button을 누르면 우리가 찾은 변수의 값은 바뀌지 않지만

프로그램 상에서는 값이 바뀌어 있음

- 포인터를 사용하면 치트 엔진에서 값을 추적하는 것이 어려움

 

- 포인터를 사용하는 경우에 값을 추적하는 과정을 진행해볼 것임

- 우선 New Scan으로 Change pointer button을 눌러서 바뀐 값을 찾음

 

- Change value button을 눌러 해당 값이 변하는 지 확인

- 확인한 후 주소 리스트에 추가

 

- Find out what accesses this address를 눌러 어떤 부분이 이 주소에 접근하는지를 봄

> 이 기능은 포인터 변수를 찾을 때 사용하는 기능

 

- Find out what accesses this address를 누르고

튜토리얼에서 Change value button을 누르면

다양한 기계어가 색출됨

- Change value는 mov라는 기계어를 사용해서 값을 바꾸고 있음

 

- more info를 보면 edx에 01864248가 담겨있음

> 이를 통해 어떤 포인터 변수가 01864248을 가리키고 있어

해당 주소에 담긴 값을 참조하고 있음을 추측할 수 있음

 

- 16진수 형식으로 edx에 담겨있던 주소를 New Scan을 통해 찾음

 

- 우리가 찾는 주소를 담고있는 주소를 주소 리스트에 추가

 

- 찾은 주소를 선택하고 Add Address Manually 버튼을 누름

> 해당 버튼을 통해 수동으로 포인터 변수를 등록할 수 있음

 

- 포인터에 체크

- 현재 포인터 주소 값을 입력하여 OK버튼을 통해 주소 리스트에 추가

 

- 포인터를 바꾸어도 그 값을 추적할 수 있게 됨

 

- 해당 값을 5000으로 변경하고 Active에 체크를 하면 freeze 상태를 만들 수 있음

 

- 포인터 변수의 값을 바꾸려고 해도 동일한 위치를 가리키게되서 항상 값이 5000임

> 튜토리얼에는 반영되지 않지만 실제로는 포인터가 가리키는 값이 5000임

- Next button이 활성화 된 것을 확인할 수 있음 

 

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

 

 

profile

Fascination

@euna-319

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