본문 바로가기
Mobile/🩷 Android

17. Split APK 추출하기

by snowflower.DY 2024. 11. 22.
Split APK 추출 방법

Split APK를 추출하는 방법에는 아래와 같이 2가지 방법이 있다.

1. adb를 이용하여 APK들을 각각 추출하는 방법

2. AntiSplit M을 이용하여 병합된 APK 추출하는 방법 

 

adb를 이용한 방법 

1. drozer를 이용하여 APK 위치 확인한다.

APK 경로 확인

 

2. adb를 이용하여 해당 경로 내 존재하는 APK 파일들의 이름을 확인한다.

분할된 apk 확인

 

3. adb pull 명령어를 이용하여 apk 들을 추출한다.

[APK 추출 경로] > adb pull [APK 경로]
C:\Users\A>adb pull /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co.TEST.app-BX6hpAeAO42U1UWCKjOGZg==/base.apk
[100%] /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co.TEST.app-BX6hpAeAO42U1UWCKjOGZg==/base.apk

C:\Users\A>adb pull /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co.TEST.app-BX6hpAeAO42U1UWCKjOGZg==/split_config.arm64_v8a.apk
[100%] /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co...6hpAeAO42U1UWCKjOGZg==/split_config.arm64_v8a.apk

C:\Users\A>adb pull /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co.TEST.app-BX6hpAeAO42U1UWCKjOGZg==/split_config.ko.apk
[100%] /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co....app-BX6hpAeAO42U1UWCKjOGZg==/split_config.ko.apk

C:\Users\A>adb pull /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co.TEST.app-BX6hpAeAO42U1UWCKjOGZg==/split_config.xxhdpi.apk
[100%] /data/app/~~HGCEJXEvourw1hT_KUnvjA==/kr.co...-BX6hpAeAO42U1UWCKjOGZg==/split_config.xxhdpi.apk

 

4. apk 파일들이 추출된 것을 확인한다.

apk 추출된 것을 확인

 

5.  추출한 APK 파일들을 Android 기기로 복사한다.

모바일 기기로 APK 파일 이동

 

6. play 스토어에서 [SAI: Split APKs Installer]를 설치한다.

SAI 어플 설치

 

7. SAI 어플 접속 후 [APK 설치] 메뉴 선택한다.

 

8. [시스템 파일 선택기] 선택 후 분할된 APK들 선택한다.

분할된 APK 선택

 

 

9. 앱 정보가 나타나면 [설치] 메뉴를 선택한다.

APK 설치

 

10. 분할된 APK가 설치된 것을 확인한다.

APK 설치 완료

※ adb를 이용한 APK 추출 방법을 선택하여 apk 수정을 할 경우
1. apktool을 사용하여 base.apk 디컴파일
2. smali 코드 수정
3. apktool을 사용하여 smali 파일 빌드
4. base.apk 뿐 만 아니라 다른 apk 파일 전부 동일한 sign을 이용하여 재서명 
5. 수정한 apk 파일 설치 

 

AntiSplit M을 이용한 방법

1.아래의 URL을 통해서  AntiSplit M을 설치한다.

■ AntiSplit M은 분할된 APK들을 병합하여 하나의 APK로 만들어 주는 기능을 가지고 있다.

 

Releases · AbdurazaaqMohammed/AntiSplit-M

App to AntiSplit (merge) split APKs (APKS/XAPK/APKM) to regular .APK file on Android - AbdurazaaqMohammed/AntiSplit-M

github.com

APK 설치

 

2. AntiSplit-M.apk를 Android 기기에 설치한다.

 

3. AntiSplit M 어플 접속 후 [Select from Installed Apps] 을 선택한다.

AntiSplit 앱

 

4. 추출할 Split App 선택 후 원하는 이름으로 변경하여 저장한다. 

APK 추출할 앱 선택

 

5. 아래와 사진과 같이 'Saving' 문자가 나타난 후 [내 파일] > [설치 파일]을 확인해 보면 추출된 APK를 볼 수 있다.

 

※ 병합된 APK 파일을 설치하였을 떄 정상적으로 실행이 안되거나 중간에 중단되는 경우, 소스코드나 솔루션에서 앱 무결성 탐지된 가능성이 크다.