Android反编译使用到的工具有:
- apktool--反编译出资源文件
- dex2jar--将dex文件反编译为class文件
- JD—GUI 查看dex2jar反编译出来的文件
一、安装 apktool
1.下载wrapper script(右键链接存储为,保存名字为apktool--注意:格式选择所有文件)
https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/osx/apktool
保存之后图标是酱紫的:
- 下载apktool.jar文件
https://bitbucket.org/iBotPeaches/apktool/downloads -
将最新版本的apktool_2.2.1.jar文件重命名为apktool.jar
(重命名是因为wrapper script中有这么一行配置)
4.将以上两个文件一起移动到 /usr/local/bin 路径下
(将文件放在该路径下,是为了方便在任何地方都可以直接在terminal中直接使用apktool命令,就像配置windows的环境变量一样)
(如果你找不到该路径,直接打开finder,然后command+shift+G弹出如下窗口,直接进入😎)
- 使用命令:chmod +x apktool 将apktool变成可执行文件。
(在terminal中输入 chmod +x 然后将apktool直接拖入terminal中 enter键 即可)
然后你会发现apktool文件图标变成了酱紫:
- 在网下随意下载一个apk包,执行命令 apktool d xxx.apk(输入命令后将apk包拖入terminal即可)成功反编译资源文件,成功反编译的文件一般保存在电脑中你个人账户文件夹下。
二、安装dex2jar
- 下载dex2jar
https://bitbucket.org/pxb1988/dex2jar
2.解压 dex2jar.zip
注意上图中第二行有一个 d2j-invoke.sh 文件需要将其变成可执行文件:
执行命令: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打开查看。
三、安装 JD-GUI
http://jd.benow.ca/
下载安装,打开即可。其他相关命令不在赘述。
(至此完成,应该没有错误。如有错误希望大家指正,互相交流学习。)