2018-09-18

                                         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拖进去


大功告成:

你可能感兴趣的:(2018-09-18)