Android 反编译使用
大家一说到反编译可能脑海中会首先想到不好的一面,**别人的 APK 之类的。其实大可不必这么想。商业级别的 APK 也没有那么容易被你钻漏洞。一些核心的业务处理会在后台进行操作。本地的 APK 也会进行混淆加密等。所以我们进行反编译主要还是进行学习,看看别人怎么实现的,自己有个思路而已。
关于这方面的资料,网上也有很多,这里就简单说一下过程,达到能够使用的目的!
这里介绍两种方式:
1.在线反编译
这种方式很简单,我们只需要打开网址,把我们的 AKP 放进去就可以进行在线反编译了。不过过程会有点慢。网址:http://www.javadecompilers.com/apk
操作很简单,就不再一步一步的进行演示了。
2.利用编译工具反编译
利用工具,自己进行反编译(其实就是工具的使用)
需要的工具:
- APK TOOL :谷歌提供的 APK 编译工具,可以反编译和回编译。我们都知道,其实 APK 就是一个压缩包,我们完全可以把 .apk 修改为 .zip。通过这种方式来获取资源文件,但是 xml 会乱码。如果你使用 apk tool 来进行反编译 apk 就不会出现这种问题了。 下载地址:https://ibotpeaches.github.io/Apktool/install/ (需要科学网)
- dex2jar:将 dex 文件转换成 jar 包 下载地址:http://sourceforge.net/projects/dex2jar/files/
- jd-gui:用来查看 jar 包里面的代码的一种工具。官网下载地址:http://jd.benow.ca/
APK TOOL 的使用
使用很简单,把要反编译的 apk 放到 apktool.jar 所在的目录,然后在命令行中定位到当前文件夹。然后输入命令: apktool d xxx.apk
这样就成功了。会在当前目录下生成一个以 apk 命名的目录,这个目录就是解压出来的目录。
dex2jar 使用
把 apk 解压后的 classes.dex 文件放到 dex2jar 所在的文件夹中。然后在当前目录下在命令行中输入: d2j-dex2jar classes.dex
就会生成一个 classes.jar 包。然后用 jd-gui 打开就可以了。
以上内容很简单,就不再演示了。有什么问题可以交流!