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

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

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

步骤2:解压zip包得到classes.dex

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

步骤3:将Dex反编译为Jar包(工具:dex2jar)

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

步骤4:用jd-gui查看反编译的jar包

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

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

注: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).目录结构

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

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,自动反编译,是不是很爽...

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

2013-12-16更新 补充装X技巧进阶篇

转载请注明出处:Findyou

上一篇:Mac终端中输入ps aux显示全部进程


下一篇:Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案