궁수의 전설 모드 - gungsuui jeonseol modeu

https://www.apkmirror.com/apk/habby/archero/archero-1-4-1-release/archero-1-4-1-android-apk-download/

 

Archero 1.4.1 (arm64-v8a + arm-v7a) APK Download by Habby - APKMirror

Have the APK file for an alpha, beta, or staged rollout update? Just drop it below, fill in any details you know, and we'll do the rest! NOTE: Every APK file is manually reviewed by the AndroidPolice team before being posted to the site. ERROR: SUCCESS: Yo

악성 광고를 삽입하여 광고 수익으로 운영하는 blackmod 사이트의 모드앱 분석을 진행해보겠습니다. 해당 사이트는 한국 및 여러 나라들의 유명한 각종 게임을 크랙하여 배포하는곳으로 모드앱을 퍼나르는 대다수의 사이트들이 해당 사이트의 자료를 이용합니다. ( 구글에 궁수의 전설 버그판이라고 검색하기만 해도... )

 

궁수의 전설 모드 - gungsuui jeonseol modeu

 

자 그럼 본론으로 들어가서 해당 사이트에서 Archero 모드앱을 다운받아봅시다.

내부 파일만 봐도 수상한 파일인 libblackmod.so 가 들어있습니다.

blackmod 기능 
- ONE HIT
- GOD MODE

실제 게임을 진행해보니 공격에 맞아도 체력이 달지 않는 무적에 몬스터들이 한방에 죽는것을 확인하였습니다.

핵이 적용되니 바로 분석을 진행해보겠습니다. 

 

게임 실행 후 정상적으로 핵을 사용할 수 있다면 굳이 시간들여 libblackmod.so 를 분석하지 않아도 됩니다. 

린엔진의 후킹 탐지 기능을 사용하여 변조 지점을 바로 확인해보겠습니다.

 

궁수의 전설 모드 - gungsuui jeonseol modeu
후킹 탐지 기능

 

메인 로비화면에서 Hook Dector에서 Start를 누르게 되면 위와 같이 변조 지점이 나타납니다.

Hook Detector는 libil2cpp.so의 후킹으로 인해 변경된 오프셋, 변경된 오프셋에 해당하는 함수 이름, 점프시키는 위치, 점프 시키는 위치 라이브러리 이름순으로 후킹 여부 확인이 가능합니다.

실제로 후킹하는 모듈은 GQIMQLMYFH 인것을 확인할 수 있었으며, libblackmod.so는 GQIMQLMYFH 라이브러리를 로드시켜주는것으로 추측할 수 있습니다. GQIMQLMYFH 파일을 확인하기 위해 해당 폴더로 갔으나 삭제 되있는것을 확인할 수 있었습니다. 이는 분석 방지를 위해서겠죠? 굳이 동적 분석해서 파일 삭제 함수 후킹하는 등의 번거로운 작업 없이 이럴때에는 메모리 덤프를 이용하면 손 쉽게 파일을 추출할 수 있습니다.  

린엔진의 메모리 덤프 기능을 이용하면 매우 편리합니다.

 

궁수의 전설 모드 - gungsuui jeonseol modeu
궁수의 전설 모드 - gungsuui jeonseol modeu
Memory Dump 기능

 

메모리 덤프 기능을 이용하여 원본 네이티브 라이브러리를 추출한 뒤 IDA로 분석해보았습니다.

HookDetector에서 첫번째 항목의 Jump Address가 0x4503c6d 으로 나오는데 이는 base Address(0x450000) + offset(0x3c6d) 으로 구성됩니다. 

 

궁수의 전설 모드 - gungsuui jeonseol modeu
궁수의 전설 모드 - gungsuui jeonseol modeu

 

offset인 0x3c6d 주소를 따라가면 위와 같이 후킹 함수가 나타나게 됩니다. off_17018 ~ off_17020 함수포인터도 분석해보면 실제 후킹했었던 함수들을 호출하는것을 확인할 수 있습니다. 즉 자신의 캐릭터일 경우에는 ChangeHP 함수를 호출 되지 않아서 무적이 되는것이죠.

게임 모드는 기본이 되는 노멀 모드와 히어로 모드 그리고 이벤트 모드가 있습니다. 현재는 총 13개 챕터가 제공되고 있으며 챕터의 형식은 크게 기본형, 웨이브형, 보스형으로 구분됩니다. 


게임 형식

기본형은 50개로된 스테이지로 진행되며 10스테이지마다 보스가 등장하며 매 5스테이지마다 천사가 등장합니다. 1,2,4,5,8,9,11,13챕터가 기본형에 해당됩니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu


웨이브형은 30개로 된 스테이지를 진행하나 5번 정도의 웨이브로 많은 적이 등장하게 됩니다. 3,6,10 챕터가 웨이브형에 해당됩니다. 보스형은 7챕터가 해당되며 보스들이 계속 등장하는 챕터로 난이도가 높습니다. 


히어로 모드는 게임형식은 동일하나 전체적으로 적들의 HP와 데미지가 증가되며 난이도가 높아지게 됩니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu



이벤트 메뉴로 가게되면 다양한 이벤트들이 시즌에 맞추어 등장하게 됩니다. 보통 횟수 제한이 있으며 일반 챕터들이 번개 5개를 소모하는데 반하여 이벤트에는 5개 혹은 10개등 번개 양의 차이가 있습니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu



궁수의 전설의 게임에서 다양한 장애물과 함정이 스테이지에 등장합니다. 몬스터 만큼 스테이지의 다양한 구성이 매우 중요한 게임 발란스 요소이다. 단순한 장애물부터 플레이어에게 데미지를 주는 함정은 물론 워프하는 특수 장치까지 등장하여 슈팅 게임이지만 퍼즐적 요소를 매우 잘 활용하고 있는 게임입니다. 


궁수의 전설 모드 - gungsuui jeonseol modeu




챕터에는 적과 함정 등만이 존재하는 것은 아니다 스테이지 중간 중간 플레이어가 쉴수 있도록 레벨의 긴장과 완화를 적절하게 조절하고 있다. 스테이지 진행 중에 5가지 형태의 NPC를 만날 수 있게 됩니다. 


천사

천사는 게임 중에 가장 많이 접하게 되는 NPC로 5,15.25.35.45 스테이지에 등장하여 체력과 공격 어빌리티를 올려주거나 체력을 회복시켜준다. 어빌리티와 관련해서는 다시한번 자세히 다루도록 하겠습니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu



도사

도사는 광고를 보고 최대 체력을 올려주거나 공격력을 올려주는 혜택을 제공해 줍니다. 



악마

악마는 특정한 조건에서 등장하며 HP 부스터를 습득하면 상승하는 체력량을 소모해서 어빌리티를 얻는 것입니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu


행운의 수레바퀴

행운의 수레바퀴는 룰렛으로 스테이지 시작 부분에 등장하거나 보스 처치 후에 등장합니다. 또 하나의 룰렛은 특별 보상으로 광고 영상을 보면 보석이 포함된 룰렛을 이용할 수가 있습니다. 

궁수의 전설 모드 - gungsuui jeonseol modeu

궁수의 전설 모드 - gungsuui jeonseol modeu


신비한 상인

상인은 장비와 스크롤등을 직접 구매할 수 있는 기회를 제공한다. 궁수의 전설에서는 모든 아이템의 획득은 게임 중에 얻는 방법과 상점에서 뽑기로 구매하는 방법이 있으며 신비한 상인처럼 특정 아이템을 바로 구매하는 경우는 시스템적으로 제공하지 않습니다.(물로 특별한 패키지 상품에는 제공됩니다.) 

궁수의 전설 모드 - gungsuui jeonseol modeu



전투를 진행하게 되는 챕터 내의 스테이지의 구성과 함께 등장하는 NPC까지 살펴보았다. 로그라이크 게임 장르의 특성 때문에 죽지않고 마지막 스테이지까지 클리어하기 위해 게임 조작은 물론 중간 중간 등장하는 게임 요소들을 잘 활용하는 것이 전략적으로 중요하겠습니다. 


캐릭터와 장비의 중요성은 물론 중요하다 여기에 매우 중요한 요소인 어빌리티의 선택 그리고 마지막으로 게임 무대가 되는 스테이지의 구성과 운영을 잘 파악하는 것은 게임을 효율적으로 진행하기 위해 중요하겠습니다.