2015. 1. 26. 02:29

Android subway surfer reverse 결과

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요.

APKTool을 활용해서 Android 내부가 어떻게 돌아가나 분석 중입니다.

그러다가 Mod 된 버전과 ORG 버전 2개가 존재 하는 게임이 있길래 분석을 해봤는데요.

예상 외이네요.

일단 Local에 저장되는 방식과 Server/Client 처럼 TCP를 활용하는 2가지 방식이 있는 것 같습니다.

해당 게임은 Local에 저장이 되는 방식을 취하는 것 같고요.

핵심 내용입니다.

  • Mod 버전의 경우 onCreate할 때 자신이 동봉한 파일을 압축을 푸는 실행코드를 실행 합니다.

이렇게 되기에 최초 게임이 죽은 후 SAVE FILE을 읽어 들일때까지는 반영이 되지 않았던 것 같습니다.

해당 코드 입니다.

아마 Unity를 활용 하여 제작이 되었나 봅니다.

이렇게 onCreate에 해당 펑션을 집어 넣어서 처리를 하게 해놨습니다.

해당 펑션은 이렇게 zipInputStreamd을 활용하여 위의 string에 해당 파일의 압축을 풀게 해놨으며

해당 파일의 내용은 이러 합니다.

osmDroid란 파일이며 fileHeader에 PK라고 적혀 있습니다.

파일 시그니쳐에 보시면 PK는 ZIP file format이라고 나오네요.

아마 최초 실행할 때 압축을 풀던, 매번 압축을 풀던, 이러한 방식을 취하지 않을까 생각 합니다.

 

참고로 실행되서 보이는건 팝업 내용입니다.

Toast가 먼가 했더니, 팝업 처럼 툭튀나오는것이더군요.

참고로 해당 ZIP파일의 내역인데요.

보시면 파일이 이름들이 쭈욱 나옵니다.

bluestack에서 본 내용입니다.

해당 세이브 파일 내역입니다.

AmountOfCoins 라고 적혀 있는 부분인 것 같네요.

많은 앱들이 상용 엔진을 갖다 써서 그런지 직접 로직을 수정하지는 않은 것 같습니다.

감사 합니다.