Android APK 反编译教程

反编译的目的是有助于我们学习规范代码,而不是植入恶意代码,窃取他人智慧成果。

Don't be evil.

本文介绍的反编译工具有4款,需要配合使用。比较经典的反编译工具apktool、dex2jar、jd-gui就不进行介绍了,在此推荐一款新发现的工具apkdb,反编译得到Resource 资源很方便。在实际使用中使用apkdbdex2jar 即可实现APK反编译 工作。

  • apktool
  • dex2jar
  • jd-gui
  • apkdb v2.0
Android APK生成过程

提到APK反编译,不得不提到APK生成过程。虽然工具已经提供apk反编译的功能,使得我们不用考虑具体的反编译步骤,但是知道原理还是对我们有好处的。复习一下APK生成过程吧!


Android APK 反编译教程_第1张图片
APKDB获取资源文件

在我给出的链接中,直接下载,按照压缩包内的说明安装即可,安装成功后会在右键菜单中生成“使用APKDB编译”的菜单项。反编译界面如下图所示,仅仅反编译得到资源文件直接输入“1”,最后点击回车即可在APK当前目录下生成反编译后的文件夹,包含:asset, meta, lib, res, smail等文件夹res文件夹包含所有的resource文件,可以通过APKDB自带的XML解析器查看所有的xml,包括AndroidManifest.xml
  如果想进行签名或其他操作,按照提示选项输入执行即可,不再进行复述。

Android APK 反编译教程_第2张图片
APKDB菜单项

Dex2jar反编译APK源码

将下载好的Dex2Jar解压到任意目录下,在Windows下可以通过d2j-dex2jar.bat 文件执行反编译工作,MacLinux下通过d2j-dex2jar.sh也可以进行。
  进入CMD,将目录定位到dex2jar的根目录,然后将需要反编译的APK文件后缀名改为ziprar,提取APK内的classes.dexdex2jar的根目录。
  最后在CMD 中执行d2j-dex2jar.bat 脚本,如下图所示,输入d2j-dex2jar.bat classex.dex 等待反编译完成即可,完成后会生成对应的classes-dex2jar.jar

CMD执行结果

Android APK 反编译教程_第3张图片
生成对应的jar

jd-gui查看APK源码

上一步已经完成了APK反编译工作,最后一步就是查看APK的源码。直接打开jd-gui,将生成的classes-dex2jar.jar直接在jd-gui中打开即可。

Android APK 反编译教程_第4张图片
使用jd-gui查看源码

**反编译工具下载链接 : **http://pan.baidu.com/s/1mi0hI1E
**密码 : **nm03

你可能感兴趣的:(Android APK 反编译教程)