모바일/Android 2017. 10. 28. 20:29 Android(안드로이드) - APKTool ① 프로젝트 진행 중 apk 디컴파일 을 통해서 소스 분석 및 리소스(이미지 등) 추출이 필요한 경우 유용하다. - smail 파일로 추출 - java 파일로 추출 Android(안드로이드) - 디컴파일(Decompile)
Android(안드로이드) - APKTool 다운로드 apktool_2.3.0.jar APKTool을 사용하기 위해서는 jdk(java) 버전 1.7 이상 설치되어 있어야 한다. dex2jar 사용 방법은 다음 포스팅에서 다루기로 한다. '모바일/Android' Related ArticlesAndroid 안드로이드 - 리소스 언팩 (2011.04.23)맨땅에 해딩하는 1인 프로그래머로서 가장 부러운 것중 하나는 디자이너와 협업이 아닐가 싶다. 특히 안드로이드 어플의 경우 여러가지 폰장비를 감안해서 화면을 디자인 해야하기 때문에 정말 머리가 아프다. 잘 만들어진거 눈으로 구경만 해도 큰 도움이 되는데 리버스엔지니어링 툴을 이용하면 리소스는 물론 소스도 어느정도 확인이 가능하다.
http://ibotpeaches.github.io/Apktool/ 위 경로에서 두가지 파일을 다운 받은 후 Path가 등록된 디랙토리에 압축을 풀어준다. 물론 커맨드 파일을 이용하면 패스 등록 없이도 경로까지 입력해서 쉽게 사용 할 수도 있다. 다운받은 두 압축파일을 android-sdk/platform-tools/ 경로에 풀었다. aapt.exe, apktool.bat,
apktool.jar 세개의 파일인데 aapt.exe는 이미 있으므로 풀지 않았다. 다음처럼 명령을 수행하면 해당경로에 어플파일명으로 폴더를 만든 후 리소스파일과 Layout 파일들을 풀어낸다. apktool decode --no-src apkname.apk 단순히 이미지 파일이나 음성파일만 얻고 싶다면 7-zip (http://www.7-zip.org/ ) 프로그램을 사용하여 압축을 풀면 된다. 다음은 tetris.apk라는 어플을 열어본 화면이다. apktool을 몰랐을 때는 위에서 처럼 압축을 풀고 AXMLPrinter2 java -jar AXMLPrinter2.jar AndroidManifest.xml>AndroidManifest.xml.txt -->이렇게>를 빼먹으면 화면 출력.. 패스 등록없이 C:\Android\dex2jar-0.0.9.8 경로에 풀고 다음처럼 커맨드 파일을 이용하여 작업하였다. C:\Android\dex2jar-0.0.9.8\dex2jar.bat tetris.apk 윈도우용 zip 포맷의 파일을 다운받아 적당한 경로에 압축을 풀고 jd-gui.exe을 실행해보자. 3. Java Decompiler jad 이클립스와
연동 [Window] - [Preferences] 메뉴를 클릭 "Preferences" 창에 java->JadClipse가 새로 생긴것을 볼 수 있다. "Use Eclipse code formatter" 를 체크해준다. 한글이 깨지는 것을 방지하기 위해 Misc를 누르고 "Convert Unicode string into ANSI strings" 항목 체크 만약에 class 파일만 있을 경우에 디컴파일이 제대로 이루어짖 않을 경우가 있다. 이 때는 프로젝트 명을 우 클릭하여 Properties 메뉴를 클릭한다. 다음에 Java Build Path ->Libraries러 이동하여 add class Folder에 해당 class 파일이 있는 폴더를 선택해주면 된다. 만약에 폴더에 있는 class 파일이 아닐경우에는 임의의 폴더를 만들어 넣어준 후 디컴파일 한다. |