日常工作中避免不了反编译工具经常安装(换电脑设备、手滑把文件夹删除了。。。等等原因),而且时间一久忘记命令的使用,因此做下记录。
一、反编译工具三件套
- apktool:获取apk里的资源文件、配置文件、清单文件、lib文件夹下的so包等等
- dex2jar:将apk反编译成java源码,及dex文件转换成jar文件
- jd-gui:查看dex2jar反编译后的jar文件的可视化工具
二、反编译工具的下载安装及使用
1.apktool的下载: 下载链接
以Mac为例
- 鼠标放在截图步骤一里的wrapper script上,右键选择链接存储为,然后命名为apktool(注意这个文件不要加任何后缀名)
- 下载apktool-2
- 将步骤二下载的jar名称改为apktool.jar
- 将上述步骤中下载的俩文件移动到/user/local/bin文件夹下
- 设置这俩文件为可执行文件(chmod a+x 文件名称)
//在终端分别执行如下俩命令
chmod a+x /usr/local/bin/apktool
chmod a+x /usr/local/bin/apktool.jar
验证是否安装成功
//终端运行如下命令 如果有版本号即可成功
apktool -version
apktool的使用:
使用cd命令进入到apk所在的目录,然后执行如下命令即可
//会生成同名的文件夹
apktool d -r ***.apk
2.dex2jar下载:下载链接
打开后页面的右侧有release包供你下载
下载完之后解压即可
dex2jar的使用
将apk后缀改成.zip,解压后会有classes.dex文件,将classes.dex文件放到dex2jar解压的文件夹里,执行如下命令,即可生成jar文件classes-dex2jar.jar,为了查看classes-dex2jar.jar文件源码,接下来我们需要jd-gui工具去打开
sh d2j-dex2jar.sh classes.dex
3.jd-gui工具的下载 下载链接
下载完解压后文件夹里有JD-GUI,双击打开即可使用,如果提示
首先检查是否有java1.8+版本的环境,如果环境没问题的话,那么就是软件本身问题,需要修改如下文件的内容:
显示包内容(JD-GUI)找到该文件
将正确的配置信息链接里的内容全部覆盖到上述文件里即可解决。
JD-GUI的使用
直接将dex2jar生成的jar文件拖到JD-GUI里即可。