목차

반응형

1. 개요

2. 기본 검색

3. 퍼지 검색

4. 암호화 검색

5. 스피드 핵, 시간 건너뛰기

 

 

 

1. 개요

게임 가디언을 설치하였다면 이제 앱에서 메모리 변조를 어떻게 하는지 알아볼 차례다.

내가 만든 게임 Card Wizard 라는 게임을 희생양 삼아서 메모리 변조를 하는 방법을 보여주도록 하겠다.

깨알 게임 홍보

https://play.google.com/store/apps/details?id=com.percent.carddungeon

 

카드 위자드(Card Wizard) - Google Play 앱

제한된 턴 안에 보스를 처치하세요. 대마법사가 되어 악의 군단을 처치하세요. 간단한 조작! 재미있는 플레이! 멋진 마법! 최고의 마법사로 키우세요! 멋진 것들 * 다양한 패턴의 보스를 처치하세요! * 새로운 마법을 모으세요! * 최고의 지팡이로 업그레이드 하세요! * 던전에서 더욱 더 강해지세요! ---- 개발자 연락처 : Yeoksam-ro 25-gil, Gangnam-gu, Seoul, Republic of Korea help@111percent.ne

play.google.com

 

 

 

오늘의 준비물 요렇게 Parallel Space에 게임 가디언과 Card Wizard가 설치되어 있으면 된다.

 

오늘 배워볼 내용은 기본 검색, 퍼지 검색, 암호화 검색, 스피드 핵 이렇게 4가지다.

솔직히 기본 검색만 사용할줄알아도 어지간한 데이터 조작이 가능하다.

 

2. 기본 검색

나는 플레이어의 체력을 9999로 한번 바꿔보려고 한다.

그러기 위해서는 체력의 값을 나타내는 메모리의 주소를 알아내야 한다.

알아내는 방법은 게임 가디언에 현재 체력인 데이터를 전부 다 뒤지라고 명령하면 무수히 많은 용의자들이 나온다. 그러면 체력 값에 변동을 줘서 용의자를 계속해서 추려나간다. 그러다 보면 소수의 주소 값만 남게 되는데 그 주소 값의 데이터를 변조해주면 된다.

 

먼저 아래 사진처럼 플레이어의 체력을 7로 만들어놓은 상태다.

 

 

좌측 상단 게임 가디언 아이콘 클릭

 

 

 

카드 위자드 게임 선택

 

 

 

값 검색 버튼 클릭

 

 

 

내 체력은 7이니까 7을 검색해야 한다. 7 쓰고 새로운 검색 클릭

 

새로운 검색, 수정하기 차이

 

 

참고로 검색할 때 새로운 검색과 수정하기 버튼이 나오는데 수정하기는 이전에 검색한 데이터들 중에서 추가적으로 검색을 한다. 즉 데이터를 잘못 찾았다거나 처음부터 다시 검색을 하려면 새로운 검색을 하면 된다.

 

 

 

새로운 검색하기를 누르면 데이터 종류에 대해서 물어보는데 잘 모르겠으면 Auto를 하고 정수형이라면 Dword 실수형이면 Float이나 Dobule을 하면 되는데 그냥 소수점이 들어간 데이터면 Auto 하고 소수점이 안 들어가는 정수형 데이터면 Dword하자 나는 체력 값은 정수형이니까 Dword를 했다. 보통 재화나 체력은 정수형일 것이다.

 

 

 

21,385개의 용의자를 찾았다고 한다. 수많은 데이터중에 현재 7의 값을 가지고 있는 데이터가 21,385개인 것이다.

 

 

 

포션을 먹거나 공격을 받아서 7이 아닌 다른 체력의 숫자를 갖도록 하자 지금 나는 포션을 먹어서 11이 되었으니 11로 검색을 다시 한다.

 

 

 

벌써 3개밖에 안 남았다. 좌측 초록색이 데이터의 주소, 파란색이 데이터 값이다. 11 값을 가진 주소가 두 개나 있다. 데이터를 마구잡이로 변경하면 앱이 튕길 수도 있으니 나는 한번 더 정제하도록 하겠다.

 

 

 

그래도 두 개가 남는다. 아마 유저의 체력에 대한 데이터중에 화면에 표출되지 않는 데이터가 하나 더 있다고 생각할 수 있는 부분이다. 그러면 그냥 저 데이터 둘 다 바꿔버리겠다. 위의 빨간 버튼을 누르면 일괄 수정을 할 수 있다.

 

 

 

체력을 9999로 하고 값 고정을 하였다. 값 고정은 해당 주소가 계속해서 9999의 값을 가지도록 하는 것이다. 왜 하냐면 9999로 바꿔도 다시 데이터가 돌아가는 경우가 있기 때문에 고정을 해버리면 보통 만사 해결된다.

 

 

 

데이터가 바로 바뀌지는 않는다. 그 이유를 간단히 말하자면 내가 게임에서 현재 체력 텍스트는 턴이 지나거나 공격이나 회복을 통하여 체력 값이 변동되면 현재 체력 값으로 업데이트되도록 해놓았다. 그런데 나는 방금 회복이나 공격 판정이 아닌 체력 값을 직접적으로 바꿔줬기 때문에 체력 값이 바뀌었다고 인식을 못하는 것이다.

한턴을 넘기면 체력 값이 업데이트될 것이다.

 

 

 

됐다 내 체력은 9999다. 그리고 값 고정을 했기 때문에 계속해서 9999로 남아있게 된다.

 

 

3. 퍼지 검색

 

 

퍼지 검색은 위의 말처럼 애매한 검색을 위한 것이다.

만약 체력을 수정하고 싶은데 체력 숫자를 모르는 철권 같은 게임이라고 생각해보자.

그러면 값이 변동되는 것은 확인이 가능하지만 정확히 어떤 값인지는 모른다.

이런 상황에서도 값이 커지거나 작아지는 것을 이용하여 검색이 가능하다.

마치 업다운 게임처럼 검색하는 것이다.

다만 엄청 귀찮다.

간다 조금 내용이 길다.

 

 

 

이번에도 체력을 바꿀 건데 퍼지 검색을 통해서 바꿀 것이다.

 

 

 

위의 저 물음표 검색 버튼이 퍼지 검색 버튼이다.

 

 

 

퍼지 검색은 기본적으로 검색량이 엄청 많기 때문에(의심 가는 데이터가 엄청 많다.) 가급적이면 Auto를 사용하지 않는 것이 좋겠다. 정말 모르겠으면 Auto를 써야 하지만 정수형일 것이라고 짐작이 되기 때문에 Dword를 선택했다.

검색하기를 누른다.

 

 

 

억 단위의 데이터 개수... 이 앱 같은 경우는 정말 작은 앱인데 하스스톤같이 큰 앱은 말도 안 되게 많을 것이다.

 

 

 

검색이 끝나면 데이터 변동을 주고 다시 검색하자.

 

 

 

공격받아서 체력을 감소시켰다.

 

 

 

게임 가디언으로 돌아가면 값이 어떻게 바뀌었는지 물어본다. 체력 값이 내려갔으니 '값이 작아진' 을 선택한다.

 

 

 

검색을 다시 하면 4억대의 데이터에서 3억대로 줄어들었다.

 

이렇게 업다운을 계속 반복한다.

 

.

.

.

 

 

 

반복하다 보니 74개로 줄었다. 여태까지는 게임 가디언 들어가면 알아서 값이 어떻게 바뀌었는지 물어보는 창이 떴는데 이제 안 뜬다. 그러면 직접 퍼지 검색 버튼을 다시 눌러서 퍼지 검색을 계속한다.

 

 

 

6개까지 줄어들었다.

 

 

 

내 체력과 값이 같은 데이터를 찾았다.

 

 

 

값을 9999로 바꿔보았다. 확인해보자

 

 

 

오키 잘 찾았다.

 

퍼지 검색 끝.

 

4. 암호화 검색

 

 

기본적으로는 2번의 기본 검색과 동일하다. 다만 데이터가 암호화되어있어서 위의 체크박스 '값이 암호화되어 있습니다.' 를 체크하고 검색하는 것 그 외에 다른 것은 없다.

만약에 2번의 기본 검색 방법을 따라서 검색해봤는데 값을 찾을 수 없다면 암호화를 체크하고 똑같은 방법으로 검색해보도록 하자.

데이터가 암호화 되어있어서 그런 것인데 더 많은 수의 데이터를 조사하지만 값을 찾아내는 경우가 있다.

암호화 검색에 대해서는 다음에 포스팅할 유니티 메모리 변조 방지 Anti Cheat에 대하여 쓰면서 더욱 자세하게 얘기를 하도록 하겠다.

일단은 검색했는데 값 못 찾으면 암호화 검색까지 해보도록 한다. 정도로 알아두자

 

5. 스피드 핵, 시간 건너뛰기

앱의 속도를 빠르게 하는 것이다.

나 같은 빨리충에게는 정말 좋은 기능이다. 게임에서 애니메이션 재생이 너무 느려서 답답할 때 배속을 해버리면 된다.

PC에서도 치트 엔진이라는 프로그램을 사용하면 사용 가능하다.

다키스트 던전, 슬레이 더 스파이어 2배속 3배속으로 플레이 가능하다.(사운드는 원래 배속으로 재생됨 개꿀)

 

 

 

우측 상단의 햄버거 메뉴 버튼을 클릭한다.

 

 

 

제일 아래 게임 속도를 해킹하기 선택

 

 

 

좌측 상단에 아이콘이 뜨는데 화살표로 배속을 조절해주면 된다.

 

6. 팁

 

 

화면에서 알아두면 편한 버튼들에 대한 설명을 하겠다.

1. 되돌리기

 

 

원래 7이었던 데이터를 9999로 수정하면 지금 이미지처럼 9999(7)로 바뀐다.

이것이 의미하는 것은 '원래 7인데 지금 9999로 님이 바꾼거임' 이다.

그리고 되돌리기를 하게 된다면 다시 이전 데이터로 되돌아가게 된다.

 

2. 리셋, 단체 되돌리기

 

 

휴지통 버튼을 누르면 모두 제거, 되돌리기 및 제거 버튼이 나온다.

모두 제거하면 검색 데이터를 전부 다 날린다.

되돌리 및 제거는 데이터를 원래 데이터로 돌려놓고 검색창에서 없애는 것이다.

풀다는 뭔지 모르겠네 ;; ㅈㅅ ㅎㅎ

 

 

3. 일괄 수정

일괄 수정 버튼을 누르면 데이터 변경하는 창이 똑같이 뜨는데 현재 선택된 데이터를 한 번에 수정 가능하다.

 

 

4. 새로고침

데이터가 실시간으로 바뀌는데 확인하고 싶다면 새로고침 버튼을 누르면 바뀐 데이터 확인이 가능하다.

 

5. 잠깐 게임 가디언 화면 끄기

누르고 있는 동안 게임 가디언 화면이 꺼진다.

 

6. 게임 가디언 설명서

 

 

이 텍스트가 엄청 많은 설명서를 한번 읽어봤는데 꽤나 알차다.

내가 말한 내용들도 여기 많이 속해있고 한번 읽어볼 만하다.

 

이것으로 실제로 앱을 해킹해보는 글을 마치도록 하겠다.

숙제로 한번 카드 위자드 게임의 인게임 골드를 해킹해보라!

 

 

 

다음은 유니티에서 어떻게 메모리 변조를 막는지 그리고 암호화 검색을 하면 실제로 어떻게 되는지에 대하여 분석한 글을 올리겠다.

 

메모리 변조와 관련된 게시물

게임 가디언 설치, 사용 방법

게임 가디언 사용 방법 - 실제 게임 해킹

유니티 메모리 변조 방지 - 안티 치트

반응형

'IT' 카테고리의 다른 글

인텔리제이 꿀팁 모음  (0) 2019.12.14
API 서버 개발 사항 정리  (0) 2019.12.12
게임 가디언 설치, 사용 방법  (30) 2019.12.11
포스트맨 API 서버 개발  (0) 2019.10.23
게임 출시 - 카드 위자드  (0) 2019.08.27