Classes.dex 파일을 디컴파일(decompile)하는 방법
이번엔 classes.dex파일을 디컴파일 하는 방법에 대해서 공부하려고 한다.
일단 classes.dex 파일에 대해서 간략하게라도 알아야한다.
classes.dex 란?
Android 가상 머신인 Dalvik이 인식할 수 있도록 Java로 짜여진 코드가 컴파일되어 바이트 코드로 변환 된 소스 파일
필요한 도구
1. dex2jar
2. jd-gui
1. dex2jar은 dex 파일을 jar 파일로 변환시켜주는 도구입니다.
2. jd-gui는 jar 파일을 Java 코드로 볼 수 있게 도와주는 도구입니다.
디컴파일 방법
dex2jar
1. dex2jar 설치
아래의 링크를 통해서 다운받는다.
https://sourceforge.net/p/dex2jar
2. 디컴파일할 파일을 다운로드한 'dex2jar'에 옮긴다.
3. 'dex2jar'폴더의 경로를 복사한다.
아래의 화면처럼 복사하면 쉽다.
4. 'cmd'창에서 cd 입력후 한칸 띄운 다음 복사한 경로를 붙여넣는다.
ex) cd C:\Users\joon\Downloads\dex2jar-2.0
5. 'd2j-dex2jar classes.dex' 입력 하면 jar 파일로 변환이 된다.
ex) d2j-dex2jar calsses.dex
이때 d2j-dex2jar이 안된다면 dex2jar로 하면 될 수 있다. 이건 각 pc마다 다르게 적용되는 것 같다.
JD-GUI
1. JD-GUI 설치
아래의 사이트를 이용해서 다운받으면 된다.
http://java-decompiler.github.io/
2. 사이트에 들어가면 아래와 같은 화면을 볼 수 있는데, 개인 PC 환경에 맞게 설치하면 된다.
(나는 window 유저라서 맨 밑에 있는 것을 다운 받았다.)
3. 설치가 끝났으면 exe 파일을 실행시켜준다.
4. 실행한 모습이다.
5. 아까 변환한 jar 파일을 JD-GUI에 넣는다!
*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.