본문 바로가기
리버싱/Android

how to extract apk file

by 즉흥 2023. 3. 21.
728x90
반응형

apk 파일을 추출하는 방법

 

 

1. 웹 사이트 이용(비추천)

 

https://apkpure.com/kr/

 

APK 무료 온라인 다운로더를 다운로드하십시오 | APKPure.com

Add APKPure to Home Screen Find what you need faster with our free web-app!

apkpure.com

위 사이트에서 다운로드 하고자 하는 앱을 검색 후 다운로드

 

https://apps.evozi.com/apk-downloader/

 

APK Downloader [Latest] Download Directly | February 2023 | (Evozi Official)

Have you ever wanted to get your hands on the latest game, only to find that the Google Play thought it wasn't compatible with your phone? Maybe you don't have a snapdragon device, but youre're pretty sure an old device could handle it still. Or the app is

apps.evozi.com

여기서도 가능

 

근데 이 방법은 편리하지만 추천하지는 않는다.

 

이유는 아래에서 설명.

 

 

2. 앱 이용

https://play.google.com/store/apps/details?id=com.ext.ui&hl=ko&gl=US 

 

APK Extractor - Google Play 앱

여러분의 기기에 설치된 앱을 SD카드로 추출합니다.

play.google.com

"APK Extractor"라는 앱을 이용하여 apk 파일을 추출할 수 있다.

 

플레이스토어에서 해당 앱을 설치한 뒤, 아래처럼 보이는 리스트에서 원하는 앱을 선택하면

 

"/storage/emulated/0/ExtractedApks/"  경로에 apk 파일이 생성된 것을 볼 수 있다.

 

 

3. ADB 이용

 

adb pull /data/app/<패키지명>/base.apk test.apk

 

패키지명은 "/data/app/"에서 찾을 수 있다.

 

 

4. 차이점

 

근데 분석을 하면서 알았는데, 1~3번의 방법으로 인한 추출된 결과물이 조금 달랐다.

 

우선 import 하는 자바 패키지의 이름이 서로 달랐다.

 

예를 들어, evozi apk downloader를 이용하여 받은 apk 파일에서는 "import com.AAA.security.manager" 이렇게 자바 패키지를 임포트 했다면

 

APK Extractor나, ADB pull을 이용해서 추출한 apk 파일에서는 "import com.BBB.security.manager" 이렇게 evozi apk downloader와는 서로 다른 이름의 자바 패키지를 임포트하였다.

 

세 가지 방법 APK 파일 해시 비교

 

또한 당연히 위와 같이 서로 해시값도 달랐다.

 

처음에는 모종의 방법으로 자바 패키지를 동적 로드하면서 패키지명을 바꾸는 방식인가 하고 조사해봤는데 이건 아니었고,

 

플레이스토어에서 설치한 앱의 버전과 evozi apk downloader를 이용해 받은 앱의 버전이 서로 달랐기 때문이었다.

 

 

 

5. 결론

 

좀 더 라이브한 분석을 위해서 evozi apk downloader보다 플레이스토어를 이용하여 최신 버전의 앱을 설치하고, APK Extractor나 ADB pull 등을 이용하여 APK 파일을 추출한 뒤 분석하자.

 

 

.

728x90
반응형

댓글