KEBI BLOG

IT,PC,모바일,스마트폰 정보와 팁 그리고 제품리뷰와 생활정보

Android Apk decompile ( apk 추출후 디컴파일 하기 )

Android Apk decompile ( apk 추출후 디컴파일 하기 )





APK 파일을 decompile 해서 .java 파일로 변환 하는 방법 입니다.. 
구글링 하시면 방법이 나와 있지만 기억 하기 위해서 올려 봅니다.. 
일단 apk 를 추출 하는 방법은 ES탐색기 & Astro 파일매니저 등을 이용하셔서
추출 하시면 됩니다..
저는 ES탐색기를 사용 하므로 ES 탐색기에서 apk 를 추출하는 방법을 간단하게 
올려 봅니다..

일단 ES 파일 탐색기를 실행 하신후에 아래 방법 대로 하시면 됩니다.


1. ES탐색기 실행
2. 메뉴 -> 관리자 -> 설치도니 애플리케이션 선택
3. APP 선택 (길게 누르고 계시면 메뉴 나옵니다) -> 백업

apk 파일은 SD Card 에 backups/apps 에 생깁니다.. backup받은 apk 를 PC 로 가져 오시면 됩니다.

이제 decompile 을 할건데 아래의 파일이 필요 합니다.

Backup 받으신 apk 를 알집 등의 압축 Application 을 사용하셔서 압축을 풀어 놓습니다.
방법은 간단하게 확장자를 apk -> zip 으로 변경 하시면 됩니다.


작업 하실 위치에 푸신후에 이제 cmd 를 뛰우신후 아래처럼 하시면 됩니다.

1. classes.dex -> classes.jar 변경 하기
일작 작업 하시는 위치에서 gen 폴더를 만들어 둡니다.
> java -DASDKLoc=. -jar undx.jar classes.dex
false
2011. 2. 28 오후 1:57:12 org.illegalaccess.undx.APKAccess <init>
심각: ./dexdump -dfh classes.dex
2011. 2. 28 오후 1:57:13 org.illegalaccess.undx.APKAccess <init>
정보: avail=255492
2011. 2. 28 오후 1:57:13 org.illegalaccess.undx.DalvikToJVM doConvert
정보: Classes count=731
false
false
true
2011. 2. 28 오후 1:57:13 org.illegalaccess.undx.ClassHandler <init>
정보: class:com.google.android.apps.analytics.AnalyticsParameterEncoder

심각, 정보등의 메세지가 쭈욱~~~ 나옵니다.. 일단 무시하고 진행 하면 됩니다.

2. classes -> java 로 변경 
위 작업이 끝나시면 gen 밑에 classes.dex, classes.dex.jar 파일이 생겨 납니다.
classes.dex.jar 파일 역시 알집등을 이용하셔서 풀어 버리시면 됩니다.

> jad -sjava *
Parsing ./com/google/android/apps/analytics/AnalyticsParameterEncoder.class..
 Generating AnalyticsParameterEncoder.java

3. binary xml -> xml 변경 하기
binary XML 파일을 볼수 있도록 변경 하는 방법입니다.
> java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt

이상 APK decompile 하는 방법 이였습니다.. ㅎㅎ

1
나는야영히 2011.05.18 16:30

안녕하세요! 좋은 글 잘 읽었습니다. ㅠ 근데 gen안에 들어가있는 파일이 2개가 다 0k인데 어떻게 된걸까요 ㅠ?

Comment *

댓글 달기

6,243,796

전체

4,642

오늘

4,999

어제

Skin By KEBIBLOG Ver 1.0 Copyright ⓒ KEBI BLOG. All rights reserved.