안드로이드 디컴파일 방법

안드로이드 디컴파일에 대한 정리해 봅시다.

필요 Tools

디컴파일

  • dex2jar로 jar를 먼저 만들어야 합니다. 이것이 디컴파일을 완료한것이라 봅니다.
    Command 창에서 sh dex2jar.sh test.apk 하시면 test_dex2jar.jar가 생깁니다. jar가 생기면 디컴파일은 완료된 것입니다.
Ex) d2j-dex2jar.bat com.tmon.apk

Xml / resource 추출

  • java를 제외한 파일들을 얻기 위해서는 apktool을 이용합니다.
    Command 창에서 sh apktool d test.apk 하시면 test라는 폴더에 안드로이드 구조의 폴더들이 생성되면서 xml과 resource등이 나오게 됩니다.
    디컴파일시에는 xml등은 나오지 않습니다.
Ex) java -jar apktool_2.2.0.jar d com.coupang.mobile.apk

Java 파일로 변경

  • Jd-gui 툴을 이용하여 “소스파일로 모두 저장” 버튼을 누르시면 모두 java 파일로 변경되어 저장됩니다.
  • Jd-gui 툴을 열고 디컴파일한 jar를 연다음 “소스파일로 모두 저장”을 누르시면 java파일로 모두 저장됩니다.

완전체 프로젝트 생성방법

  • 위에서 설명한 apktool을 사용하여 xml과 resource를 뽑아내고 소스 부분을 삭제 후 jd-gui로 디컴파일된 jar를 열어 java파일로 모두 저장하여 src를 만듭니다.
    그 후 eclipse에서 import하시면 프로젝트?를 보실 수 있으십니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다