Study/Android

APK 파일 디컴파일

MWP 2016. 11. 30. 15:57

안드로이드 APK 파일을 디컴파일하기위해 APK 파일의 확장자명을 .zip 로 변환후 압축풀기한다.


압축을 푼 apk 파일


압축을 풀면 classes.dex 파일이 존재하는데 이를


DEX2JAR 로 classes.dex 파일을 classes.jar 파일로 변환한다.


명령어 = dex2jar 파일이름.dex


해당폴더에 생성된 classes.jar 파일을 JD-GUI 로 열면


코드 난독화가 이루어지지 않은 apk 파일


proguard 를 통해 코드 난독화가 되어 있지 않은 apk 파일의 경우, 클래스 명과 소스 코드들을 확인 할 수 있다.




코드 난독화가 이루어진 apk 파일



코드 난독화가 이루어진 apk 파일을 디컴파일 해 보면, class 들과 함수들이 a,b,c.... 로 치환되있는 것을 확인 할 수 있다.

이 경우에는 코드의 가독성이 상당히 떨어진다.


Dex2jar - https://sourceforge.net/projects/dex2jar/


JD-GUI - http://jd.benow.ca/


dex2jar-2.0.zip

jd-gui-0.3.6.windows.zip