MAC上反编译APK

496 阅读1分钟

前言:最近在抓包爬某看书APP的接口,发现其接口返回的部分书籍章节文字内容被加密了,尝试了base64等多种解密方式都不行,猜测大概率是对方自己在js中做了解码处理,于是就有了今天的反编译APK经历。

1.准备工作

工具下载:

安装ApkTool

点击下载: ibotpeaches.github.io/Apktool/ins…

image.png 下载apktool和apktool.jar保存到/usr/local/bin目录(注意第一个文件apktool没有后缀image.png 最后在终端输入apktool命令测试是否安装完成。

image.png 出现如图的结果就可以下一步了。

dex2jar

点击下载:sourceforge.net/projects/de…

JD-GUI

点击下载:jd.benow.ca/

这两个工具下载完成后直接解压待用就可以了。

image.png

2.开始脱壳

按照其他文档教程描述,执行apktool d xxx.apk即可。

image.png

但我在此处遇到一个问题,就是反编译出来的文件夹中并没有.dex文件。

image.png 在google了好一会儿之后,终于找到解决方法:直接用解压缩工具解压文件即可(如图)。相关阅读:为什么有些APK解压后没有dex文件?

image.png

有了.dex文件我们继续用dex2jar把dex转化为jar文件。 为了方便,我把classes.dex直接挪到了dex2jar-2.0目录下。

执行命令sudo bash d2j-dex2jar.sh classes.dex

image.png

成功后,我们获得了如图的.jar文件

image.png

接下来我们就可以使用JD-GUI来查看反编译后的程序源码了: 点击JD-GUI运行,直接把刚得到的.jar文件拖动到打开的窗口中。

image.png

image.png 我们就得到了反编译出来的class源代码。