大部分网上打包的exe反编译工具都不太好用,我用的是apktool,dex2jar和jd-gui。
apktool是google提供的反编译工具,可以将apk反编译为smali文件,代码基本看不懂,不过它反编译资源文件倒是挺好用的。使用它可以使用指令:apktool d –f <file.apk> <dir>,-f命令表示如果dir路径已经存在,则强制覆盖。
dex2jar可以将dex文件反编译为jar包文件,dex文件可以通过直接使用解压软件打开apk,解压里面的dex文件的方式获得。使用它可以使用指令:dex2jar.bat <class.dex>,会将class.dex文件反编译的jar包放在同一级的目录下面。然后就可以使用jd-gui工具直接查看jar包的源代码。
例如:要反编译d盘下的Anyview.apk
1、使用apktool反编译apk的资源,执行cmd指令过程如下:
D:\>cd android\apktool1.5.2
D:\android\apktool1.5.2>apktool.bat d -f d:\Anyview_2.26.apk d:\anyview
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Documents and Settings\ligl01\apktool\fr
amework\1.apk
I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
D:\android\apktool1.5.2>
D:\android\dex2jar-0.0.9.15>dex2jar.bat d:\anyview\classes.dex
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar d:\anyview\classes.dex -> d:\anyview\classes_dex2jar.jar
Done.
D:\android\dex2jar-0.0.9.15>
提示说dex2jar.bat已经废弃了,推荐使用d2j-dex2jar,但是这样用也可以。
到这里反编译就完成了。
附上工具下载地址:http://download.csdn.net/detail/lgl1170860350/7510189
===========2015-5-5更新===============
新下了一个apktool的版本号2.0.0rc3的jar包,可以直接替换之前的使用,在反编译有些应用的时候比老版本好使
下载地址:http://download.csdn.net/detail/lgl1170860350/8664367
apktoo下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads