android apk反编译

大部分网上打包的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>

2、使用解压软件打开apk文件,将里面的class.dex文件解压出来,这里我放在刚才创建的文件夹anyview里面
3、使用的dex2jar工具反编译apk源码,执行cmd指令过程如下:
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,但是这样用也可以。
因为这条指令没有其他的控制语句,所以也可以直接将classes.dex文件拖到dex2jar.bat上面直接执行,效果是一样的。
指令完成后会再anyview文件夹中生成classes_dex2jar.jar文件,这个就是apk的源码文件,可以直接使用jd-gui工具打开查看源码了。
到这里反编译就完成了。


附上工具下载地址: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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值