
1. AndroidManifest.xml분석하기
1.1 기본 설정
vi AndroidManifest.xml
- AndroidManifest.xml 기본 구조
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app">
<application>
...
</application>
</manifest>
주요 요소로는 manifest, application, activity, service, receiver, provider 등이 있습니다.
- 패키지 이름 확인
manifest 태그의 package 속성을 확인하여 애플리케이션의 패키지 이름을 파악합니다.
- 권한 요청 확인(중요)
uses-permission 태그를 찾아 애플리케이션이 요청하는 권한을 확인합니다.
1.2 권한(<uses-permission>)
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
<uses-permission android:name="io.github.dovecoteescapee.byedpi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"/>
- android.permission.INTERNET: 애플리케이션이 인터넷에 접근할 수 있도록 허용합니다.
- android.permission.POST_NOTIFICATIONS: 알림을 게시할 수 있는 권한을 요청합니다.
- android.permission.FOREGROUND_SERVICE: 포그라운드 서비스를 사용할 수 있는 권한입니다.
- android.permission.FOREGROUND_SERVICE_SPECIAL_USE: 특수 용도로 포그라운드 서비스를 사용할 수 있는 권한입니다.
- io.github.dovecoteescapee.byedpi.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION: 사용자 정의 권한으로, 외부에서 접근할 수 없도록 설정되어 있습니다.
1.3 기능(<uses-feature>)
- android.software.leanback: Leanback 기능을 사용하겠다고 명시하지만 필수는 아닙니다.
- android.hardware.touchscreen: 터치스크린 기능을 요구하나 필수는 아닙니다.
1.4 애플리케이션 정보(<application;)
- 백업 허용: android:allowBackup="true"
- 앱 아이콘 및 로고 설정: 여러 아이콘이 설정되어 있습니다.
- 테마: @style/Theme.ByeDPI
2. 분석내용
현재까지 분석한 AndroidManifest.xml파일만으로는 악성코드의 존재 여부를 확정할 수 없습니다.
할 수 있는 추가 분석은 다음과 같습니다.
- 코드 분석 : smali 파일 분석
- 네트워크 트래픽 분석 : 어떤 서버와 통신하는지 모니터링
- 동적 분석