很早之前,同事找我帮他反编译某知名 Android App(病急乱投医)。在 Windows 上反编译 APK 安装包的方案很成熟,甚至烂大街。但在 MacOS 上反编译的分享还真不多。这篇分享步骤和工具。
用到这些工具和软件:apktool、apktool.jar、dex2jar、jd-gui.jar。
下载地址:https://wwu.lanzout.com/iDgRwz8co0j
接下来有两步。首先获取资源文件 res 。
这得使用 apktool ,将 apktool 和 apktool.jar 放到 /usr/local/bin
目录下。想快速打开可以在终端使用如下命令
open /usr/local/bin
再给这两个文件赋予权限
chmod +x apktool.jar
chmod +x apktool
在终端使用命令测试
没问题的话将要反编译的安装包放到任意目录,执行如下命令
apktool d xxx.apk
通过这个步骤,我们就能获得该安装包的 res 文件夹,这些资源文件就是我们需要的,当然,还有AndroidManifest.xml
。除了这两份文件,其他都可以删了。
要看源代码得使用剩下几个工具。
将 APK 安装包重命名成压缩文件,比如 .rar ,然后再解压缩出来。
这里面的内容,我们需要 classes.dex ,它就是源代码,但不能直接点击查看。
刚才我分享的工具中有个 dex2jar 文件夹,从终端进入如下目录。
再将刚才的 classes.dex 文件复制到里面,在里面执行如下命令
sh d2j-dex2jar.sh classes.dex
它会生成 classes-dex2jar.jar ,其实这就是一个转换过程,将 .dex 转换成 .jar 。
再双击最后剩下的工具 jd-gui-1.4.0.jar ,然后将上面得到的 .jar 源码拖进去就行了。
行,希望上面的分享能帮到你。
本文由老郭种树原创,转载请注明:https://guozh.net/decompile-the-android-apk-on-macos/