APK 的反编译步骤及方法

来源:互联网 发布:新倩女幽魂网游mac版 编辑:程序博客网 时间:2024/04/30 13:07

原理初步理解

  • apk 打包过程如下:java -> class -> dex + xml -> tmp + image + .so -> apk,所以反编译的过程,应该就是从 apk 到 .java 文件的过程,下面的步骤则是一步一步解析出中间结果

步骤

  • 1 将 .apk 文件修改后缀名为 .zip,然后使用解压缩工具解压,这时可以直接得到 图片和 .so 文件(如果有的话)。这是虽然可以清晰的看到 xml 文件的命名,但是打开后是无法看到其中的信息的,需要进一步的处理;

  • 2 接下来解析 xml 文件,一般使用 apktool,对于 ubuntu 用户,需要下载两个文件,apktool.jar 和 apktool,下载后添加可执行权限 chmod +x,然后将两个文件都移动到 /usr/local/bin 目录下即可在 shell 中使用了
    使用方法:apktool d (要反编译的文件) 例如 apktool d XXX.apk

  • 3 下载 dex2jar.zip,并解压得到 dex2jar文件夹,然后给文件夹中的所有文件添加可执行权限
    chmod 777 -R dex2jar,将第1步得到的 class.dex 文件拷贝到 dex2jar 文件夹中,执行命令 dex2jar.bat classes.dex 得到 classes.dex.dex2jar.jar

  • 4 下载 jd-gui.jar,然后使用命令 java -jar jd-gui.jar然后打开第 2 步中得到的classes.dex.dex2jar.jar 文件即可

经过这四步,可以得到该 apk 的图片、.xml 文件以及 .java 源码文件

0 0
原创粉丝点击