안드로이드 apk 분석을 위한 무료 디컴파일 도구 중에 가장 막강한 기능을 제공한다.

기본 지원하는 파일 포맷은 jar, class, apk, dex 이며, 다양한 디컴파일러의 결과에 대한 비교 분석이 가능하다.


다음과 같이 여러 종류의 Decompiler 및 Smalicode, Bytecode, Hexcode Viewer 기능을 제공하며, 분할 창을 이용하여 서로 다른 디컴파일 결과나 Java 소스코드와 Smali 소스코드의 비교도 가능하다.


 

스트링 난독화에 대한 복호화 및 다양한 플러그인 기능

 

 

코드 흐름에 대한 시퀀스 다이어그램 기능

 

 

BytecodeViewer : https://github.com/konloch/bytecode-viewer/releases

 

 

안드로이드 apk 분석 디컴파일러인 jadx-gui 디컴파일러는 기존 jd-gui의 불편한 점(dex2jar를 이용한 dex→jar 변환)을 개선하여, dex2jar 도구의 없이도 apk 디컴파일이 가능하다.

또한, 소스코드 뿐만 아니라 리소스 부분도 확인이 가능하도록 기능을 확장하였다.

 

jadx-gui : https://github.com/skylot/jadx/releases

 

안드로이드 앱은 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