Android反編譯(一)
之反編譯JAVA源碼
[目錄]
1、工具
1).dex反編譯JAR工具dex2jar http://code.google.com/p/dex2jar/downloads/list
2).JAVA反編譯工具
JD-GUI http://jd.benow.ca/
2、反編譯步驟
步驟1:把apk文件後綴名改爲.zip
步驟2:解壓zip包得到classes.dex
步驟3:將Dex反編譯爲Jar包(工具:dex2jar)
命令: CMD>dex2jar.bat classes.dex
步驟4:用jd-gui查看反編譯的jar包
3、實例
步驟1:把apk文件後綴名改爲.zip
步驟2:解壓zip包得到classes.dex
步驟3:將Dex反編譯爲Jar包(工具:dex2jar)
步驟4:用jd-gui查看反編譯的jar包
注:jd-gui可將JAR,保存爲JAVA源文件的*src.zip,需要看.java,解壓即可。
4、裝X技巧
以下介紹兩種裝X技巧:
一)裝X初級篇:
簡化步驟3,每次打開CMD,手敲dex2jar.bat classes.dex,痛苦了、太痛苦了...
1).在dex2jar目錄下,新建[反編譯.bat]文件,輸入
[反編譯.bat]
dex2jar.bat classes.dex
2).第三步直接雙擊運行[反編譯.bat]文件即可
二)裝X境界進階篇
簡化反編譯成JAR所有步驟(步驟1、2、3),只需拷貝APK到目錄,小手雙擊一下bat,自動完成。
1).目錄結構
2).新建BAT文件
【反編譯Dex2Jar】.bat
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
REM 作者:Findyou
REM 時間:2013.12.09
REM Dex2jar工具目錄名
SET DEX2JAR_NAME=dex2jar-0.0.9.15
SET C_PATH=%CD%
FOR %%I IN (*.apk) DO (
ECHO [反編譯 %%I]
ECHO ================================
ECHO [創建與APK同名的臨時文件夾]
REM 創建文件夾,如果已存在則先刪除
SET SRT=%%I
RD /S /Q %%I_temp 2>nul
DEL !SRT:~0,-4!-dex2jar.jar 2>nul
MD %%I_temp
REM 複製反編譯的apk文件到同名的文件夾中
ECHO [複製需反編譯APK至臨時文件夾]
COPY %%I %%I_temp 1>nul
REM 進入同名的文件夾
CD %%I_temp
ECHO [解壓APK: %%I]
JAR -xf %%I
SET SRT=%%I
REM 重命名文件
REN classes.dex !SRT:~0,-4!.dex
REM 移動dex到Dex2jar文件夾中
ECHO [移動Dex文件到Dex工具目錄中]
MOVE !SRT:~0,-4!.dex ../%DEX2JAR_NAME%
REM 進入Dex2jar文件夾
CD %C_PATH%\%DEX2JAR_NAME%
ECHO [執行反編譯]
CALL d2j-dex2jar.bat !SRT:~0,-4!.dex
ECHO [移動!SRT:~0,-4!-dex2jar.jar 到源APK目錄]
MOVE *-dex2jar.jar ../ 1>nul
ECHO [刪除臨時文件]
CD %C_PATH%
DEL %DEX2JAR_NAME%\*.dex
RD /S /Q %%I_temp
ECHO [反編譯完成]
ECHO --------------------------------
ECHO.
)
PAUSE
@ECHO ON
3).輕輕的雙擊【反編譯Dex2Jar】.bat,自動反編譯,是不是很爽...
轉自:
http://www.cnblogs.com/findyou/p/3450692.html