Mac环境下反编译APK
目录
一 通过Android studio的Analyze apk
点击后选择你要反编译的apk,得到的就如下图所示目录
- classes.dex文件:android 的核心代码,你所写的代码都在这里头
- res : 资源文件。
- resources.arsc:记录资源文件和资源id的映射关系
- META-INF:保存apk签名信息,保证apk的完整性和安全性。
- AndroidManifest.xml:这里的是二进制的xml文件,无法直接查看,需要反编译后才能查看
而classes.dex
里的类详细信息是看不了的,只能看到方法名,如下图所示
所以只要资源文件的话可以用这种方式,快速简洁。
二 通过第三方工具来反编译apk(dex2jar & jd-gui & apktool)
下载地址:dex2jar & jd-gui & apktool
反编译代码
- 首先先解压
dex2jar-2.0
文件 - 将你的apk文件后缀改成zip(本来是apk),然后解压(这时候其实已经可以得到资源文件)。然后进入该文件夹将
classes.dex
文件移动到dex2jar-2.0
文件夹下。 - 接下来打开文件,寻找到如下图四个文件
- 打开终端进入该目录下 分次输入
// chmod a+x 授予执行权限
顺序如下
1.
chmod a+x d2j_invoke.sh
2.
chmod a+x d2j-dex2jar.sh
3.
sh d2j-dex2jar.sh classes.dex
**得到如图片所示的结果 **
接着你查看 dex2jar-2.0
目录下多了classes-dex2jar.jar
文件。
5. 解压 jd-gui-osx-1.4.0.tar
文件 打开 JD-GUI
程序
6. 得出反编译的结果
反编译资源
- 首先先解压
apktool
文件,接着将apk文件放入解压后的文件夹 - 执行
sh apktool.sh apktool d xxx.apk
会出现如下图所示场景
紧接着 apktool
下会出现 xxx的文件夹 ,打开其中的res
就是你所需要的资源了。