APK反编译(Mac平台)
Android反编译使用到的工具有:
- apktool -- 反编译出资源文件
- dex2jar -- 将dex文件反编译为class文件
- JD-GUI 查看dex2jar反编译出来的文件
1.安装apktool(反编译xml)
a.下载wrapper script,保存为无后缀文件
b.下载apktool.jar最新版文件
c.将最新版本的apktool_2.2.1.jar文件重命名为apktool.jar(重命名是因为wrapper script中有这么一行配置)
d.将以上两个文件一起移动到 /usr/local/bin 路径下,(将文件放在该路径下,是为了方便在任何地方都可以直接在terminal中直接使用apktool命令,就像配置windows的环境变量一样)(如果你找不到该路径,直接打开finder,然后command+shift+G弹出如下窗口,直接进入)
- e.使用命令:chmod +x将apktool变成可执行文件。(在terminal中输入 chmod +x 然后将apktool直接拖入terminal中 enter键 即可)
chmod +x apktool绝对路径
- f.随意下载一个apk,执行命令
apktool d xxx.apk //apk绝对路径
(终端输入 apktool d后, 将apk包拖入terminal即可)成功反编译资源文件,成功反编译的文件一般保存在Mac个人账户文件夹下。
2.安装dex2jar(反编译java的)
- 下载dex2jar
- 解压dex2jar,目录如下:
- 执行命令:
chmod +x d2j-invoke.sh,
(在terminal中输入 chmod +x 然后将 d2j-invoke.sh 直接拖入terminal中 enter键 即可)将要反编译的 xxx.apk 包重命名为 xxx.zip 后解压缩打开获取classes.dex文件:
- 将该文件copy到dex2jar根目录下,终端进入这个目录,执行命令:
sh d2j-dex2jar.sh classes.dex
成功反编译为 classes-dex2jar.jar 。接下来用JD-GUI打开查看。
3.安装JD-GUI
下载JD-GUI安装,z将jar文件拖进去即可,就能看到java源码。