Android攻防战第一步·反编译

/ 0评 / 2

在我们平时逛一些技术论坛的时候,经常会遇到类似反编译,代码混淆等等名词,大家一定觉得很高大上吧,下面我就来介绍下,到底反编译有多难。

反编译工具

反编译需要的工具一般包含下面几个:下载地址   访问密码 eba5

关于这三个工具的用法就不在多说了,网上已经有很多的说明。这里我推荐一个图形化的工具,其实就是将上面三个打包加了一个界面而已,不过方便了很多,毕竟不用敲命令了。下载:ApkToolBox_1.4  访问密码 94a6

查看Apk内容

首先我们得知道,apk文件其实是一个压缩文件,我们使用解压软件解压可以看到如下目录,是不是觉得很眼熟?res目录下就是apk中使用的布局文件等,classes.dex就是src里面的源码编译后的结果,当然,如果我们现在肯定是打不开classes.dex文件的,res目录下的布局文件肯定也是乱码。如下图。如果能直接打开那就不需要工具了。

QQ截图20160517090230

QQ截图20160517090615

反编译工具用法

这里以ApkToolBox为例,查看一款图书馆座位预约系统的apk。

获取布局文件

软件主界面,选择第一项反编译apk,就相当于使用apktool获取出布局文件。选择文件保存位置,点击确定。

QQ截图20160517090816

当提示完成以后,就可以查看刚才选择的路径,这时点开res/下的布局文件就不会是乱码了。

QQ截图20160517093358

QQ截图20160517093618

classes.dex转jar包

上面已经说到了,源码文件编译以后放在classes.dex文件中。将apk解压以后即可得到这个文件,还是这个工具,选择dex转jar,选择导出jar包的保存路径,即可将classes.dex转为jar包。

查看jar包源码

同样的,点击打开jar即可查看jar包源码。如下我们可以看到,这款app的源码并没有混淆,所以我们可以很清楚的看到其源码。

QQ截图20160517094117

希望大家仅将工具作为学习所用。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注