안드로이드 APK 파일 디컴파일/리패키징 방법

2023. 4. 11. 10:18·Mobile App 취약점 진단 · 모의해킹/AOS App 취약점 진단 · 모의해킹
728x90
반응형

1. 디컴파일/리패키징 이란?

1.1. 컴파일(compile)

- 소스코드(source code)에서 기계가 인식할 수 있는 *바이너리(binary) 파일로 변환하는 과정을 말한다.

*바이너리 파일 : 사람이 아닌 컴퓨터가 직접 해석할 수 있도록 이진 형식으로 저장된 데이터 파일을 말함. 바이너리 파일의 예시로는 exe, dll, jpeg, mp3, zip 등이 있음.

- 안드로이드는 컴파일 이후 패키징(packaging)과 코드사인(code sign) 과정을 추가로 수행하여야 실행가능한  APK파일이 만들어진다.

출처 https://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?menu_dist=2&seq=19269

 

1.2. 디컴파일(Decompile)

- APK 파일을 분해하는 과정을 말한다.

- 분해된 파일을 통해 소스코드, 이미지 리소스, 설정 정보가 담긴 파일, *smali code 등을 확인할 수 있다.

*smali code : 기계어로 되어 있는 바이너리를 사람이 읽을 수 있도록 표현한 언어로 작성된 코드.

 

1.3. 리패키징(repackaging)

- APK 파일을 디컴파일 하고, 분해된 파일을 다시 apk 파일로 조합하는 일련의 과정을 말한다.

- 디컴파일 하여 분해된 파일을 해커가 수정한 뒤, 다시 컴파일, 패키징 및 코드사인 과정을 거치면 내용이 수정된 APK 파일이 생성된다.

출처 https://www.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?menu_dist=2&seq=19269

 

2. apk tools 이란?

- APK 파일을 디컴파일하고, 수정한 내용을 리패키징하는 프로그램으로 안드로이드 앱 진단 시 필수적으로 사용된다.

 

3. apk tools 다운로드

- 아래의 링크에 접속하여 최신 버전의 apktool.jar을 다운로드한다.

https://ibotpeaches.github.io/Apktool/install/

 

Apktool - How to Install

Install Instructions Quick Check Is at least Java 1.8 installed? Does executing java -version on command line / command prompt return 1.8 or greater? If not, please install Java 8+ and make it the default. (Java 7 will also work at this time) Windows: Down

ibotpeaches.github.io

 

※ PC에 JAVA가 설치되어 있지 않다면 실행할 수 없다. 아래의 사이트에 접속하여 JAVA를 설치한다.

https://www.oracle.com/kr/java/technologies/downloads/#jdk20-windows

 

Download the Latest Java LTS Free

Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.

www.oracle.com

 

4. APK 파일 디컴파일 방법

- 아래의 명령어를 입력하여 APK 파일을 디컴파일한다. 

java -jar apktool_2.3.3.jar d "apk 파일경로"

 

- 디컴파일을 성공할 경우 같은 경로에 APK 파일 명으로 된 폴더가 생성되며, 폴더 내부에는 분해된 파일들이 존재한다.

 

5. APK 파일 리패키징 방법

- 아래의 명령어를 입력하여 APK 파일을 리패키징 한다. 디컴파일할 때 생성된 폴더명을 입력한다.

java –jar apktool_2.3.3.jar b "디컴파일 폴더경로"

 

- 디컴파일 시 생성된 폴더내에 dist 폴더가 생성되어 있으며, 내부에는 리패키징된 APK 파일이 생성되어 있다.

 

- 아래의 링크를 클릭하여 생성된 APK에 코드사인(인증서 등록)을 과정을 수행한다.

[AOS App 취약점 진단 · 모의해킹] - 안드로이드 APK 파일 인증서 등록 방법 정리

 

안드로이드 APK 파일 인증서 등록 방법 정리

1. APK 파일 인증서 등록이란? - "코드사인(Code Sign)" 또는 "앱 서명"이라고도 부르며, APK파일에 인증서를 등록하는 과정을 말한다. - 인증서를 등록하지 않으면 리패키징한 APK 파일이 정상적으로 설

hagsig.tistory.com

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Mobile App 취약점 진단 · 모의해킹 > AOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글

녹스(Nox) 버프슈트 프록시 연결 및 인증서 설치 방법  (0) 2023.08.08
안드로이드 APK 파일 인증서 등록 방법 정리  (0) 2023.04.11
안드로이드 앱(app)으로부터 apk 파일 추출 방법 정리  (0) 2023.04.11
인시큐어뱅크 앱 설치 및 실행 방법 정리(InsecureBankv2)  (0) 2023.04.10
안드로이드 DIVA 설치 및 실행방법 정리  (0) 2023.04.09
'Mobile App 취약점 진단 · 모의해킹/AOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
  • 녹스(Nox) 버프슈트 프록시 연결 및 인증서 설치 방법
  • 안드로이드 APK 파일 인증서 등록 방법 정리
  • 안드로이드 앱(app)으로부터 apk 파일 추출 방법 정리
  • 인시큐어뱅크 앱 설치 및 실행 방법 정리(InsecureBankv2)
학식(hagsig)
학식(hagsig)
정보보안을 배우고자 하는 모든 이들의 식당입니다. 모의해킹, 취약점 진단, 서버, 네트워크, 프로그래밍 등등 다양한 분야를 배우실 수 있습니다.
  • 학식(hagsig)
    학식 - 정보보안 전문 블로그
    학식(hagsig)
  • 전체
    오늘
    어제
  • 공지사항

    • 게시된 정보를 악용하여 발생하는 모든 책임은 사용자에게 있⋯
    • 무단 전재 및 재배포를 금지합니다.
    • 분류 전체보기 (299)
      • 교육정보 (15)
        • IT국비지원 (12)
        • 기업면접코칭 (3)
      • 인프라 취약점 진단 · 모의해킹 (24)
        • 윈도우 서버 진단 · 모의해킹 (22)
        • 리눅스 서버 진단 · 모의해킹 (2)
      • Mobile App 취약점 진단 · 모의해킹 (98)
        • AOS App 취약점 진단 · 모의해킹 (40)
        • iOS App 취약점 진단 · 모의해킹 (58)
      • 웹 취약점 진단 · 모의해킹 (2)
      • 클라우드 취약점 진단 · 모의해킹 (4)
        • AWS 취약점 진단 · 모의해킹 (0)
        • 컨테이너 보안 (4)
      • CS App 취약점 진단 · 모의해킹 (8)
      • AI 취약점진단 · 모의해킹 (8)
      • 산업 제어 시스템 진단 · 모의해킹 (0)
      • 침해 사고 대응 (15)
      • 디지털 포렌식 (2)
      • 자체개발 프로그램 (1)
        • TLS Security Checker (1)
      • IT 자격증 (26)
        • AWS 자격증 (11)
      • 프로그램 사용방법 (14)
      • 리눅스 (1)
      • 파이썬 (12)
      • 오류 해결 (2)
      • 잡학 지식 (41)
      • 코로나19 (12)
      • 학식 일상 (11)
        • 사진 (1)
        • 음악 (6)
        • 가게 정보 (3)
      • 제품 리뷰 (2)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
학식(hagsig)
안드로이드 APK 파일 디컴파일/리패키징 방법
상단으로

티스토리툴바