[Android] 소스 코드 분석 - 1.5 (App Decompile), Decompile Tool Error

Oxong·2021년 6월 4일

Android Decompile

목록 보기
2/2

21.06.03

공부한 것을 정리하는 용도의 글이므로 100% 정확하지 않을 수 있습니다.
참고용으로만 봐주시고, 내용이 부족하다고 느끼신다면 다른 글도 보시는 것이 좋습니다.
+ 틀린 부분, 수정해야 할 부분은 언제든지 피드백 주세요. 😊

※ 해당 내용은 Window환경에서 실행되었습니다.

                                                 by. ryalya



코드분석-1 에서 Decompile 개념, 필요도구, 방법을 정리했으나
해당 내용은 Mac에서 진행되었고, Window에서 많이 다른지 빠르게 Decompile해보았다.

◆ 필요 도구

  • App.apk : decompile 할 apk 파일
  • dex2jar Tool : dex -> jar 변환해줌
  • jd-gui(window용) : 변환된 jar 파일을 열어줌

(인터넷에 검색해도 바로 나오지만, 검색이 귀찮다면 코드분석-1의 링크 참조!)


Decompile 과정


Step1. apk → zip 변환

Decompile할 App.apk의 확장자를 zip으로 변환해준 후, 압축 해제를 해준다.

이런 과정을 거치면 압축 해제한 파일 중에 classes.dex 또는 classes2.dex 파일이 생성된 것을 볼 수 있다.

Step2. classes.dex 파일 복사

classes.dex (or classes2.dex) 파일들을 dex2jar 실행파일이 있는 폴더로 ctrl+C ctrl+V로 이동시켜준다.

Step3. dex2jar 경로 이동

cmd를 켜서 cd 명령어로 dex2jar 실행파일이 있는 경로로 이동한다. (ex] C: cd ~/~/~/~/~/~/dex2jar-2.0 )

Step4. classes.dex -> classes.jar 로 변환

아래 명령어를 실행하면 dex파일 밑에 jar파일이 생긴 것을 확인할 수 있다.

d2j-dex2jar classes.dex

Step5. jar 파일 확인

jd-gui.exe를 실행하여 jar 파일을 드래그앤드롭하면 소스를 확인할 수 있다.



Reference

  • 코드분석-1과 동일하게 이루어졌으며, 다른 점은 jd-gui 파일이 운영 체제에 따라 다르므로 알맞은 Tool을 다운 받아야 한다!

0개의 댓글