Android Study

App.Apk파일 -> Decompile (Window)

85chong 2020. 7. 7. 10:10
728x90
반응형
SMALL

◎준비물

- testApp.apk :  decompile 할 예제 apk 파일

- dex2jar Tool : dex -> jar 변환 해줄때 사용

- jd-gui-0.3.3.window :  변환된 jar 파일을 열어볼때 사용

 

Step

준비물확인   ▶  apk->zip 변경 후 해제   ▶  dex->jar 변환  ▶   jd-gui로 jar파일 오픈     끝

 

 

Detail Step

1. dex2jar 툴이 제대로 실행되는지 확인

      =>  윈도우 -> cmd 창 -> javac 입력, 영어가 길게 뭐라뭐라 나온다 -> 사용가능상태

      =>  실행할수없다는 짧은 문장이 나온다-> 사용불가능 상태,  jdk 설치후 환경변수를 지정해주어야함

*참고는 저의 티스토리 71

 

2. jd-gui 툴이 실행되는지 확인

      => 실행파일이, 실행되는지 안되는지 확인. 실행이 안되면, 되는 파일 찾을때까지 이것저것 다운받는다.

 

3. 이제 decompile 시작

       => test.apk -> test.zip 이름을 변경 시켜준다.

 

4.  test.zip -> 압축 해제 시켜준다.

      => 압축 해제 후 파일중에 classes.dex 또는 classes2.dex 파일이 생성된다.

 

5. classes.dex 파일형식의 파일들을 복사 해준다.

      => dex2jar 실행파일이 있는 폴더로 복사 해준다.

 

6. cmd 창을 띄운다.

      => dex2jar 실행파일이 있는 경로로 이동한다 (ex]  C:\dex2jar> )

 

7. 명령어를 입력해서 위에 복사한 classes.dex -> classes.jar 로 변환시켜준다.(모든 classes 들어간 파일 다 변환해준다. 다 열어볼예정)

      => ex] C:\dex2jar>d2j-dex2jar classes.dex

      => 실행하면 "....Detail Error Information ..." 이라는 문구나 나오는데 무시해도된다.(해결방법은 못찾음)

 

8. 위의 작업에서 생성된 classes.jar 파일을 jd-gui 에서 열어보면 해당 apk 파일에 있는 클래스를 확인 할 수 있다.

 

* 해당 앱이 난독화가 적용되어있으면, 대부분 a  b  c  d 이런식으로 확인할수있고, 난독화가 적용되어있지 않으면, 클래스르 모두 볼수있다.

 

- 끝 -