'게임 매크로'에 해당되는 글 1건

목차

1. IDA Pro를 이용한 모바일 게임 분석 

1.1 분석 사용도구 

1.2 분석 목적 

1.3 수행 기간 

1.4 모바일 게임 분석 

1.4.1 결과 

1.4.2 Level 단계 수정 

1.4.3 버블 Arcade 모드 개수 수정 

1.4.4 대응방안 

 

2. 게임 비인가 매크로 프로그램 

2.1 분석 사용도구 

2.2 분석 목적 

2.3 수행 기간 

2.4 비인가 매크로 프로그램 분석 

2.4.1 결과 

2.4.2 비인가 매크로 프로그램 

2.4.3 분석 

 

프로젝트명

IDA Pro를 이용한 모바일 게임 분석

수행기간

2

분석 사용 도구

IDA Pro 6.9(Demo) , Apk Manager , Hex Editor

분석목적

정적분석에 대해 익숙해지고 모바일 어플리케이션 접근방식을 알기위함

 

1.결과

- Level 단계 수정의 경우 정의된 함수들이 알기쉽도록 되어있어서 찾기가 쉬웠고 JD-GUI

자바 디컴파일러로 보게 되면 자바언어로 그대로 보여지기 때문에 이 점에 대해선 대응방안이 필요함

 

- 버블 Arcade 모드 개수 수정은 정의된 함수명이랑 관련되지 않은 버블 관련 클래스를 찾음 값이 증가 할때마다 기존의 버블 개수에서 없어지는 형태가 발생하고 값 증가 시킬때마다 일정 패턴으로 버블개수를 보내줌 1로 수정 할 경우 기본 개수인 382 = 183 = 9개 이런식으로 점점 없어짐

 

2.Level 단계 수정

 

 

class.dex파일을 불러온뒤 함수들중 gotoNextLevel 함수를

찾아서 들어가게 되면 add-int/lit8인 추가한다는 ARM명령어가 보이고 이게 레벨업 관련 됐다는 것을 알게됨

 

 

위의 add-int/lit8 ARM명령어 주소값인 0001B5C4를 복사하고 dex를 헥스 에디터 이용하여 주소값을 이동함

 

이동 된 주소값을 보게되면 D8 00 00 01 16진수가 보이는데 01부분을 자신이 원하는 레벨값으로 변경해줍니다.

Apk Manager 를 통하여 컴파일과 서명을 다시 해줍니다.

 

3.버블 Arcade 모드 개수 수정

getNewRow에 들어가서 내리다보면 Random_nextInt@II 보이게됨 더블클릭하여 한번 더 들어감.

 

 

그러면 Random_nextInt@II를 사용하게 될 함수가 보이는데 LevelManager_getLevel@LL에 들어감 


v0 , v0 , 1에서 1부분을 위와같이 헥스에디터를 이용하여 2로 수정할시 Arcad모드 처음 시작하는 버블 개수가 줄어듦

 

 

 

4.대응방안

- 우선 공격자들이 분석을 하기 어렵게 하는 것이 우선이라고 생각합니다. 예를들어 위에 “Level” 이란 함수명 하나만 봐도 이 부분은 게임상의 레벨 부분이 관련된 곳을 짐작할수 있고 전체적인 흐름을 읽을 수 있어 취약하다고 보여집니다. 그리고 현재 모바일 게임 서비스 파일들을 보게되면 중요 데이터부분들의 라이브러리를 불러오는 방법을 이용하며, 데이터 라이브러리 파일들을 보안 할 수 있는 파일을 개별적으로 추가되어있습니다. 이처럼 보안할 수 있는 파일을 따로 추가하는 것도 좋을거 같습니다. 보안 기능은 라이브러리 파일들이 변조,손상 되지 않았는지 확인을하며, 데이터를 불법적으로 변조하는 것을 막을 수 있습니다.

 

 

 

 

 

 

   

 

프로젝트명

게임 비인가 매크로 프로그램 분석

수행기간

1

사용 도구

Cheat Engine6.5,AutoHotkey,DIE

목적

비인가 매크로 동작원리를 알기 위함

1.결과

- 해당 비인가 프로그램 컴파일이 오토핫키라는 기반으로 분석하였고 대응방안은 해당 게임의 캐릭터 이미지를 저장 해둔 파일을 외부에서 변경되지 못하도록 감지를 하여야하며, 또한 오토핫키 자체를 감지할수 있도록 단어감지나 기존에 나와있는 Mutex를 통해서 감지하는 최소한의 보안을 하여야 합니다. 오토핫키는 소스가 그대로 보여지게되면 악용이 아니라 편의를 위해서 만들어지는 프로그램들이 제작자가 원치않는 소스 유출이 될수 있으므로 난독화 기능이 필요하며 또한 이를 이용한 악용하는 사람이 있을 수 있습니다.

 

 

2.비인가 매크로 프로그램

- 해당 비인가 매크로 프로그램은 총게임에서 적 인식을 자동으로 하여 에임을 이동시켜 총이 발사되는 원리. 적 인식 방식은 해당 게임의 캐릭터 파일을 열어 캐릭터 머리,,팔 부분의 색깔을 수정하고 화면에서 수정된 색깔을 감지하여 마우스를 이동시키는 스크립트를 적용

 

 

 

3.분석

- 화면인식 매크로 프로그램은 우선 알려진 오토핫키로 제작이 되어진걸로 추측을 하게 되고 DIE 프로그램을 이용하여 해당 프로그램이 패커가 되어있는지 확인을 함

- VMProtect 패커가 되어있고 Ollydbg 올리디버거가 작동되지 않으므로, Cheat Engine6.5를 통해서 동적으로 스크립트를 분석함

 

 

 

 

- 오토핫키로 제작이 되었으면, 프로그램이 실행이 되면서 스크립트 소스가 다시 풀려버리게 됩니다. 이 점을 이용하여 해당 스크립트를 그대로 가져올수 있으며 어떤 식으로 돌아가게되는지 분석이 가능함

 

 

 

- 오토핫키 스크립트가 패커에서 실행될 때 풀려버린 소스를 그대로 가져온 상태

 

- 소스를 보면 제작자가 프로그램 사용 가능/불가능 하도록 설정을 할 수 있도록 했으며, 소스를 가져온 상태의 프로그램이 사용 불가능 상태가 되어도 강제로 사용할 수 있도록 수정이 가능함

 

 - 변조 스킨 다운로드를 통하여 캐릭터 이미지를 수정한 뒤 프로그램 작동이 되는지 알 수 습니다. 밑의 소스대로 화면 해상도, 스캔 범위, 픽셀 위치를 알 수 있으며 수정된 캐릭터의 이미지 색깔대로 픽셀 RGB값을 스캔하여 마우스를 이동 시킴


블로그 이미지

_B_G_

,