본문 바로가기
게임 해킹

게임 메모리 해킹 - 스타듀 밸리

by L3m0n S0ju 2021. 7. 14.

 

안녕하세요 이번 게시글에서는 치트엔진을 이용한 스타듀 밸리 메모리 조작법에 대해서 알아보겠습니다. 스타듀 밸리는 힐링 게임으로 제가 평소에 즐겨하는 게임인데요 최근에 게임 메모리 해킹에 관심이 많아져서 한번 시도해봤습니다. 스팀에서 스타듀 밸리를 다운로드하니 예전에 제가 하던 데이터가 그대로 남아있어서 신기했습니다.

 

 

게임에 치트를 사용하는 순간 재미없어지기 때문에 간단히 체력 치트만 만들도록 하겠습니다. 돈이나 기력 같은 다른 구성요소들도 같은 방법으로 치트 제작이 가능합니다. 

 

 


 

 

체력부터 조작하겠습니다. 마우스를 체력 초록색 바로 이동하면 145/145로 현재 체력이 145라고 출력됩니다.

 

 

 

치트엔진을 실행하고 프로세스를 로드합니다. 그리고 New Scan을 클릭한 후 145를 입력하고 First Scan을 진행하면 대략 5000개의 결과가 출력됩니다.

 

 

 

 

몬스터에게 몇대 맞은 후 112로 Next Scan을 합니다. 이런 식으로 체력을 가르키는 주소를 찾을 수 잇습니다.

 

 

 

 

 

그림처럼 체력을 500으로 설정하자 체력 바가 화면 천장까지 닿아버립니다. 그러므로 체력은 100정도로 두고 체력 체크박스에 체크하면 체력은 100으로 고정이 되기 때문에 무적이 됩니다. 하지만 방금 알아낸 체력 주소는 프로그램을 재시작하면 주소가 바뀌기 때문에 게임을 재시작할 경우 엉뚱한 값을 가르키게 됩니다. 따라서 체력을 가르키는 포인터를 주소 값을 찾아주면 게임을 재시작해도 체력값을 가르키므로 영구적으로 사용할 수 있습니다.

 


 

 

 포인터를 찾는 방법은 다음과 같습니다. 체력에 마우스 우클릭을 하여 Pointer scan for this address을 선택하여 모두 OK를 누르면 대략 200백만개의 결과가 출력됩니다. 게임을 종료하고 다시 게임 프로세스를 로드해줍니다. Pointer scan 창은 종료하면 안됩니다.

 

 

 

Pointer scan의 Pointer scanner 창에서 Rescan memory를 클릭합니다. 그리고 Only filter out invalid pointers에 체크하고 OK를 누릅니다.

 

 

 

대략 551개의 결과가 출력됩니다.

 

 

 

 

 

조금 내려가다보면 Points to:에 145를 가르키는 것들이 있는데 제일 위에 있는 후보를 클릭해서 값을 144로 변경해보겠습니다.

 

 

 

위 그림과 같이 체력이 144로 수정되었습니다. 운좋게 여러 후보들 중에 한번에 찾았습니다. 사실 메모리 스캔 결과에서 위에 있을수록 찾는 포인터일 확률이 높고 똑같은 값이지만 여러개로 보이는 현상도 있기 때문에 후보가 1000개 정도면 한 두번만에 포인터를 찾을 수 있습니다. 해당 포인터에 이름을 지어주고 게임을 재시작해도 항상 체력을 나타내는 포인터를 찾았습니다. 

댓글