Android反编译(一)
之反编译JAVA源码
[目录]
1、工具
1).dex反编译JAR工具
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,自动反编译,是不是很爽...
2013-12-16更新 补充装X技巧进阶篇
转载请注明出处:Findyou