一 、前言
为什么要会反编译呢?一是碰到问题后,身边又没有什么技术大牛,这时运用反编译,可以研究一个实现类似功能程序的源代码,2是知道我们的apk还能够这么玩,所以我们要预防这种行为。
二 、工具下载地址
也可以 https://pan.baidu.com/s/1qZYAiV6 密码 idmu
三、 使用步骤
3.1 、apktool工具:获取我们需要反编译APK文件资源文件(图片和布局文件)
把要反编译的apk放在apktool文件夹中,打开cmd并进入到当前文件夹,输入如下指令:
apktool d xxx.apk
有可能会出现下面这种情况,说明要去下载新版得apktool.jar,下载下来重命名为apktool.jar并替换之前的
编译成功后会看见和apk一样的名字的文件夹,资源文件就可以拿到了
3.2
dex2jar工具:将APK反编译成源代码 。
把我们需要反编译的APK后缀名改为 .zip,然后解压开来,解压开来文件夹的目录结构如下图:
这时我们会看到有一个classes.dex文件,然后把这个文件放在dex2jar 文件夹的目录下,跟 dex2jar.bat同一级目录下。然后命令行定位到该层目录下,输入指令 dex2jar.bat classes.dex
成功后会多一个jar文件
3.3
jd-gui工具:查看APK中源代码文件 。
这个就简单了,只是一个代码查看工具。打开这个jd-gui工具后,把上一步生成的classes_dex2jar.jar文件拖进来就大功告成了,就是这么简单。我们会看到如下图所示的apk的源代码。
四、总结
有反编译肯定就也有预防反编译的操作,我这里只是简单的介绍下工具的使用