Android反编译(一)之反编译JAVA源码

2013-11-30  旺友 

Android反编译(一)

之反编译JAVA源码

 

[目录]

1、工具

2、反编译步骤

3、实例

4、装X技巧

 

1、工具

1).dex反编译JAR工具 
 

2).JAVA反编译工具

 

 

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

283°/2837 人阅读/0 条评论 发表评论

登录 后发表评论