简介:
工具 | 作用 | 使用方法 |
---|---|---|
apktool | 可从 apk 中提取出 resource、dex、manifest、xml 等文件,修改后可 rebuild 出新 apk | // decode apk文件 apktool d <target.apk dir> -o <dir> // rebuild 出 apk 文件 apktool -b <dir> -o <target.apk> |
dex2jar | 将 dex 文件变成一个(包含class 文件的)jar 文件 | sh <dir path>/d2j-dex2jar.sh <dex path>/classes.dex -o <output path>.jar |
JD-GUI | jar包可视化工具 | 直接将jar包拖入JD-GUI中即可查看 |
安装 + 示例
1. 安装 apktool <mac系统>
官网链接: apktool官方网站
- Mac系统下最简单安装方式:手动安装
- 官网下载 Mac wrapper script,如果为脚本文件,直接复制保存为apktool,不要任何扩展名;
- 下载最新 apktool-2,重命名为 apktool.jar。
- chmod +x 命令修改两个文件 apktool 和 apktool.jar 的可执行权限。
-
将 apktool 和 apktool.jar 复制到目录 /usr/local/bin 目录下。
依次执行命令
VCMac-mini:~ vc$ cd /Users/vc/Desktop/apktool
VCMac-mini:apktool vc$ chmod +x apktool
VCMac-mini:apktool vc$ chmod +x apktool.jar
VCMac-mini:apktool vc$ ls -al
total 39056
drwxr-xr-x@ 5 vc staff 160 8 1 16:55 .
drwx------@ 44 vc staff 1408 8 1 16:52 ..
-rw-r--r--@ 1 vc staff 6148 8 1 16:54 .DS_Store
-rwxr-xr-x@ 1 vc staff 2860 8 1 16:53 apktool
-rwxr-xr-x 1 vc staff 19981711 8 1 13:02 apktool.jar
VCMac-mini:apktool vc$ cp apktool /usr/local/bin
VCMac-mini:apktool vc$ cp apktool.jar /usr/local/bin
使用 apktool
VCMac-mini:~ vc$ >apktool d /Users/vc/Desktop/app.apk -o /Users/vc/Destop/
解析出目录如下:
2. 安装 dex2jar
官方地址:dex2jar github 链接
-
下载解压到本地
- 运行命令
VCMac-mini:~ vc$ sh /Users/vc/dex-tools-2.1/d2j-dex2jar.sh /Users/vc/Desktop/appApk/app.apk -o /Users/vc/Desktop/appApk/app-dex2.jar
dex2jar /Users/vc/Desktop/appApk/app.apk -> /Users/cyou/Desktop/appApk/app-dex2.jar
VCMac-mini:~ vc$
-
得到的 jar 文件
3. 安装 JD-GUI
官方地址:JD-GUI github 链接
-
将 JD-GUI 下载解压到本地
-
直接打开 JD-GUI,将上一步生成的 app-dex2.jar 拖入 JD-GUI 即可。
- 解压出来的 JD-GUI,打开如果遇到 jdk 1.8 的错误,原因是mac新系统JDK的存储位置和老版本中不一样了,下载 github issue 中的 universalJavaApplicationStub.sh,替换掉 JD-GUI -> 显示包内容 -> Contents -> MacOS -> universalJavaApplicationStub.sh 后,再重新打开。