Mac 下反编译Android APK

时间:2022-04-23 15:16:01

准备工作:安装ApkTool、dex2jar、JD-GUI

安装ApkTool

1、下载ApkTool。大家可以从 https://ibotpeaches.github.io/Apktool/install/ 上下载ApkTool

2、安装ApkTool

(1)将下载好的apktool文件与apktool_2.4.0.jar文件准备好,并将apktool_2.4.0.jar更名为apktool.jar;

(2)将apktool.jar与apktool移动到/usr/local/bin目录下(可以通过在终端中输出命令open /usr/local/bin来打开这个目录);

(3)为上述两个文件增加可执行权限,即在终端中输入并执行:

 chmod +x apktool.jar
chmod +x apktool

(4)在终端输入apktool看是否可以运行,如果不可以需要在系统偏好设置中打开安全与隐私中点击仍要运行apktool.jar;

安装dex2jar

大家可以从https://sourceforge.net/projects/dex2jar/files/ 上下载dex2jar

安装JD-GUI

大家可以从 http://jd.benow.ca/ 上下载JD-GUI

1、使用ApkTool反编译APK得到xml文件、AndroidManifest.xml和图片

cd [apkdir]
apktool d xxx.apk //该命令执行后会在同级目录下生成一个与你编译的apk同名的目录

通过上述命令就可以反编译apk了。

2、dex2jar将dex反编译成jar

第一步,解压apk获得dex文件

使用解压软件将apk进行解压(直接把后缀名改为.zip),得到classes.dex文件。有时有多个classes.dex文件(这是因为应用了MultiDex所致)。将classes.dex文件拷贝到下载解压的dex2jar目录下。然后执行如下代码进行反编译:

cd [你的dex2jar解压目录]
sh d2j-dex2jar.sh classes.dex
sh d2j-dex2jar.sh classes2.dex

通过上述命令会得到一个或多个.jar文件(一个classes.dex产生一个jar文件)

3、使用JD-GUI查看反编译后的程序源码

将dex转换成jar之后接下来我们就可以使用JD-GUI来查看反编译后的程序源码了

操作步骤很简单,只需双击运行jd-gui-1.4.0.jar,然后将classes-dex2jar.jar拖拽到JD-GUI界面上即可