-
안드로이드 apk 구성 및 리버싱 도구리버싱/모바일 2023. 6. 28. 22:58
APK 파일 구성
Android 매니페스트
- 패키지 이름, 최소 실행 버전, 컴포넌트, 필요 권한 등을 명시한 파일
classes.dex
- 애플리케이션의 실행 코드
- 자바코드를 javac로 컴파일하면 자바 class 파일이 생성된다, 그리고 컴파일된 자바 파일은 개발 도구중 하나인 dx를
이용해서 dex 파일로 만들어짐
resources.arsc
- APK 에서 사용되는 문자(스트링)들 넣어놓은거
META-INF 폴더
- 패키지의 매니페스트 파일과 서명파일이 있음, 이 안에는 APK 파일에 존재하는 파일명과 서명 값 항목들이 있음
res 폴더
- 애니메이션, 이미지 같은 것들 넣음
APK 만드는 과정
1. 자바 코드 만듬
2. 컴파일하면 class 파일이 된다
3. 이걸 dex 파일로 바꿈
4. dex파일과 리소스파일들로 apk 만듬
더 있는데 이런갑다 하세요
apktool
- 안드로이드 리패키징 해주는 도구, smali와 baksmail(dex파일을 사람이 읽을 수 있게 코드를 바꿔주는거)을 사용한다
- 디코드 하면 리소스파일과 패키지 클래스별로 어셈블리 코드가 생성된다
디코드
java -jar apktool d 파일.apk
다 바꿧으면
다시 빌드
java -jar apktool b 파일.apk
JD-GUI
- 자바 디컴파일러, 기계어를 자바 코드로 다시 바꿔주는 도구
dex2jar
- dex 파일을 jar 로 바꿔줌
'리버싱 > 모바일' 카테고리의 다른 글
JEB를 이용한 동적 디버깅 (0) 2023.07.03 안드로이드 리버싱 실습 with JEB (0) 2023.06.30 안드로이드 구성요소 (0) 2023.06.26 안드로이드 모바일앱 모의해킹 - 2 - ~ADB 설명 및 사용법편~ (0) 2023.04.05 안드로이드 모바일앱 모의해킹 - 1 - 인시큐어뱅크 설치편 (0) 2023.03.30