Android APK 反编译教程

作者: ChongmingLiu | 来源:发表于2016-11-21 16:27 被阅读831次

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

    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生成过程吧!


    APKDB获取资源文件

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

    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执行结果
    生成对应的jar
    jd-gui查看APK源码

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

    使用jd-gui查看源码

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

    相关文章

      网友评论

        本文标题:Android APK 反编译教程

        本文链接:https://www.haomeiwen.com/subject/syeupttx.html