안드로이드 앱은 Java 언어 기반으로 프로그래밍되며, 작성된 소스는 Dalvik 가상 머신 기반에 동작하도록 컴파일 된다.

즉, jd-gul 도구에서 apk 앱을 분석을 하기전에 apk 내부의 dex 파일을 dex2jar 도구를 이용하여 class 파일로 전환하기만 한다면, Java 처럼 원본 코드와 흡사한 디컴파일이 가능하기 때문에 분석에 용이하다.

 

 

아래 그림에서 왼쪽은 Eclipse를 이용한 실제 원본코드이고, 오른쪽은 dex2jar와 dj-gui를 이용하여 디컴파일한 결과를 보여주는 코드이다.

 

 

dex2jar : https://github.com/pxb1988/dex2jar

jd-gui : http://jd.benow.ca

 

+ Recent posts