-
Unity기반(mono) 게임 App 분석Mobile/Android 2019. 12. 7. 00:38
Unity기반 App은 mono, il2 두 가지 방식 중 하나로 컴파일이 가능하다.
이번 글에서는 mono방식으로 컴파일된 App을 분석하는 방법에 대해 다루도록 하겠다.
mono방식으로 컴파일된 App에는 위 3개의 라이브러리 파일이 포함되어 있다.
libmono.so 심볼 정보 역시 제거된 상태이지만, il2방식보다 보다 쉽게 심볼정보를 얻어 낼 수 있다.
Assembly-CSharp.dll
il2방식에서는 Metadata파일을 덤프하는 과정이 있었는데, mono방식은 /assets/bin/Data/Managed 에 위치한Assembly-CSharp.dll 파일을 확인하면 된다.
il2에서는 Dump 과정을 거쳐야만 얻을 수 있던 dll파일들이 mono방식에서는 바로 확인이 가능하다.
위 파일 중 Assembly-CSharp.dll 파일을 dnSpy에 로드한다.
실제 App에서 사용되는 Method들을 확인할 수 있다.
또한, Method 구현 코드까지 확인이 가능하다.
위 결과처럼 mono방식은 il2방식보다 보안수준이 현저히 낮은 것을 확인할 수 있다.
실제 App을 후킹할 때는 Target Method를 선정하고, 해당 Method의 RVA정보를 이용하여 후킹을 진행한다.
'Mobile > Android' 카테고리의 다른 글
JEB2 App 동적 디버깅 (3) 2019.12.23 IDA를 이용한 Android App Library 동적 디버깅 (1) 2019.12.20 Unity기반(il2) 게임 App 분석 (1) 2019.11.24 Android App에서 Memory Corruption Exploit이 불가능한 이유 (0) 2019.09.21 Android Hacker's Handbook_2장 [정리 및 번역] (3) 2019.09.21 댓글