Mac下 反编译 apk 包

1. 需要用到的工具

apktool:反编译得到 classes.dex 文件;

dex2jar:将上一步中得到大 dex 文件转换成 jar 文件;

jd-gui:将 jar 文件转换成 java 文件

2. 反编译 apk 得到 classes.dex 文件

  • 2.1. 下载 apktool,官网

  • 2.1.1. 右键步骤1中的 wrapper script 下载并保存脚本文件,文件保存为 apktool,无后缀名;

    Mac下 反编译 apk 包_第1张图片
    下载 apktool 脚本文件

  • 2.1.2. 点击步骤2中的 find newest here,然后下载最新的 apktool_x.x.x.jar 文件,重命名为 apktool.jar

    Mac下 反编译 apk 包_第2张图片
    下载 apktool.jar 文件

  • 2.1.3. 将两个文件移动到同一目录下(我的是在 apk-returnback),然后更改他们的权限为可执行;

chmod +x apktool
chmod +x apktool.jar
  • 2.2. 将要反编译的 apk 文件移动到给文件夹下,将其反编译成 classes.dex 文件;
./apktool d -s xxx.apk
Mac下 反编译 apk 包_第3张图片
反编译得到 dex 文件

3. 将反编译得到的 classes.dex 文件转换成 jar 文件

  • 3.1. 下载 dex2jar ,官网;

    Mac下 反编译 apk 包_第4张图片
    下载 dex2jar

  • 3.2. 将下载好的压缩包移动到 apk-retunback 目录下,解压,之后将上一步得到的 classes.dex 文件移动到解压后的目录中;

3.3. 执行命令,将其转换成 jar 文件;

sh d2j-dex2jar.sh classes.dex
Mac下 反编译 apk 包_第5张图片
生成 jar 文件
  • 3.4. 在执行过程中可能遇到权限问题,修改权限重新执行上一步即可;
sudo chmod -R 777 d2j-baksmali.sh
sudo chmod -R 777 d2j_invoke.sh

4. 将 jar 文件转换成 java 文件

  • 4.1. 下载 jd-gui 官网;

    Mac下 反编译 apk 包_第6张图片
    下载 jd-gui

  • 4.2. 将下载好的压缩包移动到 apk-returnback 中,并解压;

    Mac下 反编译 apk 包_第7张图片
    解压得到app

  • 4.3. 打开 JD-GUI.app ,将上一步生成的 jar 文件拖拽到里面即可看到反编译成的 Java代码。

你可能感兴趣的:(Mac下 反编译 apk 包)