Mac安卓反编译
最近也学了不少零碎的东西,自是觉得记录的很麻烦,所以就没有记录了,记录却是会消耗一部分时间和精力,但却让我们能把笔记记录下来,便于以后的翻阅。不过简书的排版不是很好,就算写好了也不便于翻阅,这点不好,以后在研究吧,看能不能改进下。
我在总结的时候参考了以下文档,他们给了我很大的帮助:
作者:Android小码农
链接:https://blog.csdn.net/s13383754499/article/details/78914592
來源:csdn
要反编译 .apk 文件的话需要使用三个工具:
apktool (资源文件获取)
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
apktool下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads
dex2jar(源码文件获取)
dex2jar下载地址:http://sourceforge.net/projects/dex2jar/files/
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui (源码查看)
jd-gui下载地址:http://jd.benow.ca/
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
把这三个文件下载下来后放到一个文件夹下以便使用
使用apktool反编译apk得到图片、XML配置、语言资源等文件
进入终端操作界面先cd进apktool所在文件夹,然后java -jar apktool_2.3.4.jar d -f apk文件名。执行成功后会多出一个文件,红框表示的听说很有用。
使用dex2jar反编译apk得到Java源代码
将要反编译的APK后缀名改为.rar或者 .zip,并解压,得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),我mac无法解压,是让朋友用windows解压的。
将获取到的classes.dex放到之前解压出来的工具【dex2jar-2.0】文件夹内,如下图所示:
cd到这个目录下输入: sh d2j-dex2jar.sh classes.dex
这时会提示你:d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied
然后你输入:sudo chmod +x d2j_invoke.sh
输入电脑密码
再次输入: sh d2j-dex2jar.sh classes.dex
出现这个classes-dex2jar.jar
反编译classes.dex得到classes-dex2jar.jar文件之后,就可以使用【jd-gui】工具将class文件反编译成java源代码了,启动JD-GUI
把classes-dex2jar.jar拖进去
大功告成: