APK 분석하는 방법

 

1. 먼저 원하는 apk 파일을 다운받는다.

2. apk는 압축 파일 형태로 구성되어 있다. 그래서 일반적으로 반다집으로 압축해지하면 관련 파일들을 볼수가 있다.

 

 

AndroidManifest.xml : 앱에 대한 정보, 실행 권한, 맨처음 시작하는 activity 내용등을 확인할 수 있는 파일.

classes.dex : dalvik 가상 머신에서 동작하는 바이너리 실행파일.

res : 리소스 폴더.

META_INF : 인증파일.

 

3. dex 파일은 apk 파일에 해당한다. 실제 자바 코드를 컴파일하여 클래스 파일로 만든 후에 다시 압축한 것이다.

4. dex2.jar(https://code.google.com/p/dex2jar/), JD-GUI(http://jd.benow.ca/)  툴이 필요하다.



해당 사이트에 가서 Download tab을 선택하여 다운로드 하면 된다.

5. dex2.jar로 apk 디 컴파일 (dex 파일을 jar파일로 변환해주는 툴이다.)

dex2.jar 압축파일을 해지한 폴더로 이동하여 command창으로 열고

 

 dex2jar.bat apk_file 명

(결과물은 apk_file명_dex2.jar로 생성된다.)

 

6. jd-gui 로 jar 파일을 열어본다.

7. 이 툴에서 제공하는 Save all sources를 누르면 src 파일들만 zip파일로 저장할 수 있다.​



 

APKTOOL 을 이용한 APK 분석

 

1. apktool 은 https://code.google.com/p/android-apktool/ 의 download tab에서 다운받아 압축을 해지하면 된다.

​2. cmd로

java -jar d:\android\android-apktool\apktool.jar d [apk_file 명] [out dir name]

​3. 결과 폴더 확인

 

​smali 폴더 내부에 디컴파일된 소스파일들이 존재하게 된다.





블로그 이미지

미네르바98

안드로이드와 영화 리뷰, 생활정보에 관한 내용을 기재합니다.

,