상용 앱 APK 추출해보기 (Feat. ADB)

2025. 1. 4. 20:07·mobile/android

사람들이 많이 사용하는 상용 앱의 APK 파일을 추출하는 방법은 다양한데, 그 중 ADB를 이용해 추출하는 방법을 정리해봄.

 

 

⚠️ MAC 기준으로 작성함.

1. ADB 설치

1) Android Studio 설치

Android Studio를 설치했다면 ADB를 별도로 설치할 필요가 없음.

 

2) Homebrew로 설치

homebrew가 설치되어있다면 아래의 명령어 중 하나를 선택하여 실행하면 됨.

brew cask install android-platform-tools
brew install --cask android-platform-tools

 

3) Android SDK 설치

 

SDK 플랫폼 도구 출시 노트  |  Android Studio  |  Android Developers

Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.

developer.android.com

 

위 링크로 이동 후 해당 페이지에서 Download SDK Platform-Tools for Mac 클릭하여 다운로드

 

다운로드한 압축 파일을 해제한 후 열어보면 adb가 있는데 더블 클릭하여 실행하면 됨.

 

4) ADB 설치 확인

adb version
# 정상 출력 예시
Android Debug Bridge version 1.0.41
Version 33.0.3-8952118
Installed as /Users/username/Library/Android/sdk/platform-tools/adb

 

5) ‘zsh: command not found: adb’ 오류

ADB 환경 변수가 설정되지 않아서 발생하는 것으로 환경 변수에 추가하면 됨.

  • 터미널 열어서 vi 편집기 실행
vi ~/.zshrc
  • i 눌러 아래 내용 추가 후 esc 누르고 :wq 입력해서 변경 내용 저장
# ADB
export ANDROID_HOME=/Users/사용자계정/Library/Android/sdk  # Android sdk 설치 경로
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools/35.0.0      # 설치되어있는 버전
  • 저장 내용 반영
source ~/.zshrc

 

2. APK 추출해보기

예시로 본인은 본인이 잘 사용하는 ‘지하철종결자’ 앱을 추출해보겠음.

 

Android Studio 실행 → 에뮬레이터 실행 → 추출할 어플 설치

 

 

adb shell pm list packages -f                    # 설치 된 모든 앱 출력
adb shell pm list packages -f | grep "패키지 명"   # 특정 패키지 명이 포함되어 있는 리스트 출력

에뮬레이터에 설치되어 있는 앱 리스트 출력하여 추출할 패키지 명을 찾아봄.

 

 

adb shell pm list packages -f | grep -vE 'com\\.android\\.|com\\.google\\.'

리스트 전체를 찾아보기엔 너무 많고 특정 패키지 명을 검색하기엔 유추되는 키워드가 없다면
위 명령어를 사용하여 android, google 관련 패키지를 제외시키고 찾아보거나

 

 

Device Explorer 메뉴에서 /data/data/ 폴더에서 com.google.이나 com.android. 제외한 폴더들을 찾다보면 쉽게 찾을 수 있음.

 

 

검색 결과 ‘지하철종결자’의 패키지 명이 “teamDoppleganer.SmarterSubway”임을 확인.

위 결과 중 ~==/base.apk 까지의 경로를 복사.

 

 

adb pull 기존 설치 된 패키지 추출할 경로 및 apk 이름

# 예시
adb pull /data/app/~~yjChTAMrn3a0lyAXHYWSmQ==/teamDoppelGanger.SmarterSubway-jr478f3mCYBikQeZ1gkF0Q==/base.ap subway.apk

apk 추출. 추출할 경로를 따로 입력하지 않는다면 adb가 존재하는 폴더에 apk가 떨궈짐.

 

 

추출 결과

저작자표시 비영리 변경금지 (새창열림)

'mobile > android' 카테고리의 다른 글

Android 정렬 (Feat. zipalign)  (0) 2025.03.23
APK 파일 구조  (3) 2025.01.07
Android Build Process (1)  (2) 2025.01.04
'mobile/android' 카테고리의 다른 글
  • Android 정렬 (Feat. zipalign)
  • APK 파일 구조
  • Android Build Process (1)
9a6riel
9a6riel
  • 9a6riel
    잡다한 공간
    9a6riel
  • 전체
    오늘
    어제
    • 분류 전체보기
      • algorithm
      • cs
        • network
        • os
      • mobile
        • android
        • test
      • language
        • kotlin
        • java
      • security
      • troubleshooting
      • etc.
        • ai
        • article review
        • project
  • 블로그 메뉴

    • 링크

    • 공지사항

      • read.me
    • 인기 글

    • 태그

      foreach
      CONTINUE
      Kotlin
      JVM
      Ollama
      align
      AAB
      android
      build
      Val
      zipalign
      apk
      codegpt
      var
      ChatGPT
      llm
      AI
      Java
      ADB
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.1
    9a6riel
    상용 앱 APK 추출해보기 (Feat. ADB)
    상단으로

    티스토리툴바