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에 넣는다!

 

 

 

 

 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts