모바일2014. 10. 28. 13:08

 

 


안드로이드 분석 및 개발, 또는 만들어진 앱을 진단하기 위해서 
우리는 디 컴파일을 해야 할 필요가 있을 때까 있다.

이때 활용하는 도구로 APKTool 이다.

APKTool을 활용하면 우리는 APK파일을 디 컴파일 하거나 
수정한 내용을 다시 컴파일 할 수 있다.
현재 APKTool은 2.0.3 Version까지 릴리즈 되었다.

하지만 APKTool을 활용할 때 이전 번전 에서는 되지만, 
최신 버전에서 디 컴파일이 되지 않는 경우도 
있기 때문에 버전 별로 다운로드 받아 활용 할 수 있도록 하면 좋을 듯 하다.


해당 위치에 가면 버전 별로 다운로드 받아 활용 할 수 있다.


○ 사용환경 구성

    1) Java를 설치 한다.

        이때 자는 1.7 Version 이상을 설치해 준다.

     2) 위 다운로드 사이트에서 APKTool을 다운로드 받아 압축을 푼다.

     

     ※ 유의사항 

         - APKTool 압축 해제 위치가 한글 폴더 명이 있다면 영문으로 변경해 준다.

           정상적으로 동작하지 않는 경우가 있다.

        - APKTool 압축을 풀면 버전 별로 이름을 변경하여 준다.

           압축을 풀면 전부 APKTool.jar 파일로 이름이 정의되어 있다.

           하지만 버전 별로 이름을 달리해 준다면 한 폴더에 저장해서 원하는 버전 별로 

           사용이 가능 하겠다.



○ 사용 방법 

 - 앱을 디코드 하는 경우 

   

      java -jar apktool.jar d [option] [디코드 할 APK파일명].apk


 - 컴파일 할 경우 

  

     java -jar apktool.jar b [options] [빌드할 APK 폴더 경로]


    아래 옵션에 대한 화면을 추가 하니 참고 바랍니다.

    ※ 컴파일 이후 설치 전에 sign 해주어야 정상 설치가 되니 유의 하시기 바랍니다.

        sign [컴파일한 APK 파일명].apk [새로 만들 APK 파일명].apk 

        형식으로 사용하면 되겠습니다.



○ APKTool 버전 차이점 

    1.5 Version 이상 : 디 컴파일 결과가 .smali 로 생성됨

    1.4 Version 이하 : 디 컴파일 결과가 .java로 생성됨


 

 

Posted by IT초보아빠