본문 바로가기

Mobile Development/Android

Android Apk De compile 하는 방법

http://yuihorie1004.tistory.com/entry/Androidandroid-apk-decompile%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

android apk decompile하는 방법

 

Android apk decompile을 하는 방법에 대해서 알아보도록 하자

먼저 간단하게 reversing에 대해서 이미지를 살펴보자

 

                 [그림 1] java reversing

 

 

       [그림 2]Android apk 실행 파일과 reversing

 

Android 실행 파일을 디컴파일 하기 위해서는 몇가지 툴이 필요하다 

apkTool dex2jar jd-gui의 툴이 필요하다. 각각을 다운로드 한다.

apkToolhttp://code.google.com/p/android-apktool/downloads/list 에서 [그림 3]과 같이 2개의 파일을 다운로드 한다.

리스트에서 맥인 경우에는 맥용, 리눅스의 경우에는 리눅스용을 다운로드 한다. 이번에는 원도우즈 용을 다운로드 한다.

 

 

[그림 3] apktool download list에서 apktool windows용 선택..

 

apkTool을 다운로드 한 후에 다음의 경로에 압축을 풀어서 설치를 하다.

C:\android-sdk-windows\platform-tools\apktool에 압축을 푼다 (참고로 이것은 나의 위치이다.)

그 다음에 Dex2jar 파일을 다운로드 한다.

 

http://code.google.com/p/dex2jar/downloads/list  로 이동을 하여 dex2jar 파일을 다운로드 한다.

 

 [그림 4] dex2jar

 

Dex2jar 파일을 다운로드 한 뒤에 적당한 위치에 압축을 푼다.

C:\android-sdk-windows\platform-tools\dex2jar (이것의 나의 위치임 그냥 아무 위치나 만들면 된다.)

그 다음에는 java decompiler를 다운로드를 한다.

http://java.decompiler.free.fr/?q=jdgui 에서 jdgui를 다운로드를 한다.

 

    [그림 5]jdgui 다운로드 (원도우즈 용인 경우 빨간색으로 표시된 부분 받으면 된다.)

 

그럼 다운로드를 하였으니 환경 변수를 설정을 하여 본다.

Apk, apktool을 환경 변수 설정을 한다.

Apktool을 환경 설정을 한다.

아래 그림처럼

 

         [그림 6] apktool 환경 설정

         Dex2jar도 역시 같은 방법으로 해 주면 된다.

Path 에 설정도 해준다.

 

         [그림 7]path 설정

 

Command 창으로 이동을 하여 해당 apkdecompile을 하면 된다.

예를들면 c:> apktool d com.apk out을 입력하여 out 폴더를 살펴본다.

apk파일을 zip파일로 변경을 한 후 압축을 푼다. 그 다음 classes.dex 파일을 c:>dex2jar classes.dex를 입력을 하여 classes.dex.dex2jar.jar 파일을 얻어낸다.