反编译主要分为两部分:资源文件的反编译和java代码的反编译

一、工具下载地址

http://download.csdn.net/detail/wj_november/9534211

http://download.csdn.net/detail/wj_november/9534292

二、资源文件的反编译
1、打开AndroidCrackTool软件,选择好我们要反编译的apk:


点击执行按钮,出现如上图说明资源文件反编译成功,如果提示你安装jdk啥的,自己百度安装下~

来看下目标文件:


2、java代码反编译

用普通解压软件解压下apk,得到如下:



这个dex的具体机制我不是很懂,大概的是,我们的代码经过编译后,会压缩成一个.jar文件,我们可以理解为另外一种格式的压缩文件,类似于.zip或.rar,为了不让我们的代码轻易被他人解压缩窃取,Android将.jar加了一个叫做“壳”的东西,加壳后的.jar文件就是.dex文件了,我们可以把.dex文件理解为加密过的压缩文件,一般我们需要特殊的软件进行去壳操作,我们用到的软件就是dex2jar.

我们将目录中的classes.dex文件,放入dex2jar文件夹,然后打开终端,输入命令进行去壳操作:

 cd dex2jar文件夹 

 sh dex2jar.sh classes.dex

这时候我们查看一下我们dex2jar的文件夹,我们可以看到,我们的文件夹里多了一个classes_dex2jar.jar的文件。 
然后,我们用JD-GUI工具打开classes_dex2jar.jar文件,这时候就得到了源码。JD-GUI工具自行下载~
 
 
原文地址