关于 Android Apk 反编译

来源:互联网 发布:供应商数据库表格 编辑:程序博客网 时间:2024/06/05 15:19

转载请注明出处:http://blog.csdn.net/crapulencezzz/article/details/52584301

在日常的 Android 开发中,我们有时候经常会发现某款 App 做的不错,动画漂亮或者布局精致,往往就会想这到底是怎么实现的呢?这时候如果有一个工具可以反编译 Apk 安装包查看它的源码就好了,下面我们就来讲讲如何反编译一个 Apk 文件。

其实关于反编译,之前也有好多大神写过类似的博客:
Andorid 反编译 App
Android APK反编译就这么简单 详解(附图)
这些博客已经讲的很清楚明白了,相信你们都能看懂。但是为什么还要重复造轮子呢?

别急,容我慢慢说来,一般的软件的确可以通过上述博客中所写的方法反编译出来,但是笔者在反编译某款 App 的时候发现生成的结果目录竟然是空的,纳尼?然后我就找啊找,找啊找,结合了各种情况,最终把可能的原因总结成一下两点:

  1. 反编译软件对 Java 程序有特殊需要,环境变量是否配置,Java 版本之类的;
  2. 反编译工具不是最新的;

对于第一条,如果配置了环境变量的话,在控制台命令窗口输入下面的命令就可以查看:

java -version

我之前用的是 jdk 1.8 的版本,不知道为什么就一直报错,反编译完不是空目录就是只有一个 .dex 文件。然后我就果断把 jdk 换成 1.7 版本,结果发现还是同样的问题。先别急,抽根烟静一静。

然后,我就想时不时现在都用了什么黑科技导致之前的反编译工具过时了,Damn Right! 然后我就在这个网址找到了我想要的内容:https://ibotpeaches.github.io/Apktool/ ,果然和我想的一样,这个工具目前支持的 jdk 版本就是 1.7,然后开始下载最新的 Apktool,里面有 apktool.bat 和apktool.jar,然后把它们统统放到 c://windows 目录下就可以了,这样就省得再配置环境变量了。这样在运行下面的命令就可以了:

apktool d test.apk

另外,还有个工具叫 Android 逆向助手,不知道大家听过没有,我们可以把新下载的 apktool.jar 和 apktool.bat 文件放到逆向助手的 lib 目录下,替换源文件,这样就还可以使用图像化界面来操作反编译 Apk 了,有没有很方便。

0 0
原创粉丝点击