android apk反编译 查看源码

首先请下载所需要使用的工具包
工具包有这三个工具:
工具介绍:

apktool

 作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看

dex2jar

 作用:将apk反编译成java源码(classes.dex转化成jar文件)

jd-gui

 作用:查看APK中classes.dex转化成出的jar文件,即源码文件

接下来我们直接进入正题。

一、我们解压apktool工具包,可以看到这三个文件。apk反编译得到程序的源代码、图片、XML配置、语言资源等文件

这里写图片描述

我把apktool解压在我的E盘,然后我们把需要反编译的appdebug.APK放到跟apktool同一个目录里面。
接下来我们开始进入控制台,进入E:apktool目录。执行命令apktool.bat d -f appdebug.apk appdebug

我们来看图,
报错了,

Exception in thread “main” brut.androlib.AndrolibException: Could not decode arsc file
之后我百度了,是这样解释的。
apktool.jarl版本不是最新的导致。。
假如你没有报错是因为,上面的工具包链接是最新的apktool.jar。可以直接跳过这个错误。
1. APKTool官网推荐:http://ibotpeaches.github.io/Apktool/install/ 下载最新的apktool.jar。

  1. 将下载到的apktool_2.0.0rc4.jar文件改名为apktool.jar,然后替换掉老版本的apktool.jar

  2. 接下来就可以正常编译了。

重新编译,由于apktool.jar换成最新的版本。那么输入的命令也有变化。
格式为:apktool.bat d [-s] -f appdebug.apk -o appdebug ,这是我自己要编译的apk名称。你就输入自己要反编译的apk名称。
这里写图片描述
编译成功后:
这里写图片描述
说明获取成功,之后发现在文件夹下多了个appdebug文件,点击便可以查看该应用的所有资源文件了。

如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b appdebug(你编译出来文件夹)便可,效果如下:
这里写图片描述

二、APK反编译得到源码
我们将生成的classes.dex文件放到 E:\apktool\dex2jar-0.0.9.15文件夹中
这里写图片描述

然后先定位到E:\apktool\dex2jar-0.0.9.15目录,执行命令:dex2jar.bat classes.dex会看到下面的图

这里写图片描述

我们看到生成了 classes_dex2jar.jar 文件,我们运行 jd-gui.exe打开该文件,就可以看到源码了
这里写图片描述

这是我今天了解的反编译。
原本以为能够看到别人的源码,由于大部分APK包都实现了混淆代码。我们所反编译的代码,不容易理解。

如果你看了之后,还有其他的问题,可以直接留言。

以上有借鉴 该作者的文章 链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怀君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值