使用apktool反编译apk文件

ApKtool是一个apk编译工具,能够反编译apk文件。

Apktool官方介绍:
http://ibotpeaches.github.io/Apktool/

当前Apktool的最新版本为2.1.1,需要JDK1.7的支持。在进入Apktool的安装之前,请确保电脑已安装JDK1.7。
可通过命令行java -version查看当前已安装JDK的版本信息。


一、安装Apktool步骤(Windows环境下):
(1).下载apktool.bat文件。
下载地址: https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/windows/apktool.bat
(2).下载apktool.jar文件。去掉文件名中的版本号,即最终文件名为“apktool.jar”。
下载地址: https://bitbucket.org/iBotPeaches/apktool/downloads

(3).将apktool.bat和apktool.jar放到同一个路径下,并添加到系统环境变量中。


以我的电脑为例,这里apktool.bat和apktool.jar文件在D:\android\apktool路径下。



则在环境变量path中追加D:\android\apktool。



二、反编译APK:

命令行代码:
apktool d -s <file.apk> -o <outdir>

命令行介绍:
d <file.apk>:执行decode,<file.apk>表示被反编译的apk文件的绝对路径。
-s:指定不反编译源码,即保留classes.dex文件。
-o <outdir>:指定反编译之后生成文件的路径。

比如,当前我的电脑有如下apk文件。


执行命令

apktool d -s D:\android\apkfile\com.sina.weibo_6.7.2_3242.apk -o D:\android\apkfile\weibo



执行完毕,我们会发现在apk文件路径中多了一个weibo的文件夹。


打开weibo文件夹,里面就是成功反编译之后的文件。


此时,我们已经可以成功的获取到res路径下的所有文件。下面,我们再来进一步获取java代码。

三、获取java代码


(1).使用dex2jar工具,将dex文件转成jar文件。


dex2jar下载地址:
https://sourceforge.net/projects/dex2jar/

dex2jar命令:
d2j-dex2jar.bat <classes.dex>

以我的电脑为例,dex2jar的解压路径为D:\android\dex2jar-2.0,我们将上面weibo的dex文件转为jar包,首先将命令行切换到dex2jar目录,然后执行
d2j-dex2jar.bat D:\android\apkfile\weibo\classes.dex


此时会发现dex2jar的安装路径中多了一个classes-dex2jar.jar的文件,即是转换之后的jar包。



(2).使用jd-gui工具,查看jar包代码。


jd-gui下载地址:
http://jd.benow.ca/

我们可以选择可独立运行的jd-gui工具,或eclipse和intellij插件。这里已jd-gui-windows.zip为例。解压文件,双击jd-gui.exe即可运行。

我们将上面获取到的jar包拖入到jd-gui中,即可查看java代码。因打包apk时使用了proguard混淆,所以只能看到一部分代码。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值