Android逆向筆記(1)---工具篇之apktool
apktool
官網:http://ibotpeaches.github.io/Apktool/
說明:apk的反編譯工具,是在samli工具的基礎上進行封裝的工具,反編譯資源接近原始形式(包括resources.arsc,classes.dex,9.png。和XML)
目前(2016年1月)有兩個版本 1.x 和2.x。
2.x要求java為JDK7,並需要配置好Java的環境變數。
2.x的語法
apktool d test.apk //反編譯
apktool b test //編譯
配置:
1、從官網下載apktool_2.0.3.jar 並改名為 apktool.jar
2、建立一個apktool.bat,裡面內容為
@echo off
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
3、拷貝一份Android的SDK中的aapt.exe(該工具不同的SDK所在的位置不一樣 最近的在build-tools老一些在tools或platform-tools目錄中)建立一個Crackme資料夾,並將三個檔案移動到該目錄下,只要配置就好。
注意:
apktool反編譯時經常會出現下面的資訊
1.Input file was not found or was not readable.
2.Destination directory (C:\Users\user\a) already exists. Use -f switch if you want to overwrite it.
3.Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars c fil..........
解決方案:
1和2是因為apktool升級到2.0以上時,使用方式已經替換,格式為:apktool d [-s] -f <apkPath> -o <folderPath>,引數具體的意思可以直接打apktool回車(windows)檢視幫助
3是因為apktool版本過低導致,請升級到最新版本,地址:http://ibotpeaches.github.io/Apktool/ 或https://bitbucket.org/iBotPeaches/apktool/downloads/