Unity Hooking
-
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방식에서는 바로 확인이 가능하다. 위 파일 중 ..
-
Unity기반(il2) 게임 App 분석Mobile/Android 2019. 11. 24. 05:52
요즘 재밌고 인기있는 게임들은 대부분 Unity Engine으로 개발되고 있다. 대표적으로 포켓몬Go, 궁수의전설, 거지키우기 등 이 있다. Unity기반의 게임들은 JVM이 아닌 Native에서 코드가 구현되어 실행된다. JVM단에서는 Native라이브러리를 로드만 해주고, 실질적인 게임기능들은 Native단에 로드된 라이브러리에서 처리된다. 해당 라이브러리들은 '/lib'에 위치하고 있다. Unity게임 개발자들은 컴파일 방식을 'mono'와 'il2cpp' 두 가지 방식 중 선택해서 빌드가 가능한데, 예전에는 대부분 게임들이 Interpreter처리방식으로 속도가 빠른 'mono'를 선호했다. 하지만, 안정성 이슈와 보안적인 부분이 미흡하여 'il2cpp'로 많이 개발되는 추세이다. 따라서, 이번 ..