美文网首页
安卓apk反编译过程——以豆瓣apk为例

安卓apk反编译过程——以豆瓣apk为例

作者: 邱穆 | 来源:发表于2020-10-15 11:13 被阅读0次

    一、环境和工具准备

    环境:Windows 10

    工具:apktool、dex2jar、jd-gui

    命令行终端:PowerShell 7

    二、 使用 apktool 获取AndroidManifest、XML文件和图片资源文件

    2.1 安装 apktool 

    按照官网https://ibotpeaches.github.io/Apktool/install/要求的操作步骤进行安装和配置,可以选择配置环境变量或者直接移动文件。

    apktool安装步骤

    2.2 使用apktool

    打开命令行窗口,按照上述流程成功安装配置好的话,直接键入apktool即可出现以下提示信息:

    apktool提示信息

    其中红框标注的即为经常使用的命令,其他参数用途可以见提示信息的解释。

    如若反编译豆瓣apk,即可键入命令  apktool d .\com.douban.frodo.apk,即为反编译当前目录下的com.douban.frodo.apk文件,如果反编译过一次,则需要使用apktool d -f .\com.douban.frodo.apk命令,强制删除上一次生成的反编译目录。反编译后的目录结构如图:

    豆瓣app反编译后的目录

    本次反编译受未能完全成功,但仍然得到了需要的AndroidManifest.xml文件和res资源文件。

    三、使用 dex2jar和 jd-gui反编译并查看源代码

    流程:使用dex2jar反编译出源代码,使用jd-gui查看源代码。

    3.1 安装dex2jar并反编译apk文件

    下载地址:https://github.com/pxb1988/dex2jar/releases

    下载后解压,将解压目录配置到系统环境变量。

    在命令行可以直接使用命令 d2j-dex2jar,信息如下:

    dex2jar提示信息

    可以看到,直接使用命令dex2jar file.apk即可按默认参数反编译apk,我们在豆瓣apk存储目录下打开powshell,键入d2j-dex2jar .\com.douban.frodo.apk命令,即可反编译出com.douban.frodo-dex2jar.jar文件。

    3.2 使用jd-gui查看源代码

    下载地址:http://java-decompiler.github.io/

    下载后,打开exe文件,打开刚刚反编译的jar文件,即可查看源代码,如图:

    jd-gui打开的jar源码

    四、总结

    目前大型公司开发的apk,多是multidex,即会有多个.dex文件,要使用2.1以上版本的dex2jar直接对apk文件进行反编译。

    相关文章

      网友评论

          本文标题:安卓apk反编译过程——以豆瓣apk为例

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