mac下搭建apk反编译环境
工具准备
- apktool:https://ibotpeaches.github.io/Apktool/install/
- jd-gui:http://jd.benow.ca
环境搭建
- 安装apktool
打开终端,cd到apktool所在目录
执行touch apktool(去掉后缀)
执行cat apktool.txt >> apktool(去掉后缀)
将脚本apktool和apktool.jar移到/usr/local/bin文件夹下(配置环境变量)
sudo -s(获取权限)
mv [文件名] /usr/local/bin
执行apktool -v 检查是否安装成功
- 解压dex2jar和jd-gui
反编译
- 执行命令apktool d [apk文件]
- 在apk所在目录会生成以下文件,可以看到资源文件以及xml
回编译
- 获取java代码,需要用apktool进行回编译,生成classex.dex文件
运行命令apktool b [反编译生成的文件夹]
如图:
- 会生成build文件夹,如图:
- 使用dex2jar将上述文件生成.jar文件
d2j-dex2jar.sh和d2j_invoke.sh添加运行权限:
chmod +x d2j-dex2jar.sh
chmod +x d2j_invoke.sh
继续运行命令:./d2j-dex2jar.sh [apk文件夹]
在dex2jar目录下生成classes-dex2jar.jar如图:
查看java代码
- 打开jd-gui,将classes-dex2jar.jar拖入,可查看java代码如下图:
注意事项
- 以上所用版本
dex2jar-2.0
jd-gui-osx-1.5.2
- 打开jar文件时JD_GUI可能会出现 Invalid input fileloader错误,在命令行输入:sudo chmod +xr classes-dex2jar.jar即可解决
- 遇到 Permission denied,需要给当前脚本授权
例如:chmod +x apktool
快速使用
wukaiqiangdeMacBook-Pro:Downloads root# apktool d com.wswatershot_1.1.2_112.apk
cd /Users/wukaiqiang/Downloads/dex2jar-2.0
./d2j-dex2jar.sh /Users/wukaiqiang/Downloads/com.wswatershot_1.1.2_112/build/apk/classes.dex
chmod +xr classes-dex2jar.jar
图形化查看