Mac环境下反编译APK

目录

Mac环境下反编译APK_第1张图片

一 通过Android studio的Analyze apk

Mac环境下反编译APK_第2张图片
点击后选择你要反编译的apk,得到的就如下图所示目录
Mac环境下反编译APK_第3张图片

  • classes.dex文件:android 的核心代码,你所写的代码都在这里头
  • res : 资源文件。
  • resources.arsc:记录资源文件和资源id的映射关系
  • META-INF:保存apk签名信息,保证apk的完整性和安全性。
  • AndroidManifest.xml:这里的是二进制的xml文件,无法直接查看,需要反编译后才能查看

classes.dex里的类详细信息是看不了的,只能看到方法名,如下图所示Mac环境下反编译APK_第4张图片
所以只要资源文件的话可以用这种方式,快速简洁。

二 通过第三方工具来反编译apk(dex2jar & jd-gui & apktool)

下载地址:dex2jar & jd-gui & apktool

反编译代码
  1. 首先先解压 dex2jar-2.0文件
  2. 将你的apk文件后缀改成zip(本来是apk),然后解压(这时候其实已经可以得到资源文件)。然后进入该文件夹将classes.dex 文件移动到 dex2jar-2.0文件夹下。
  3. 接下来打开文件,寻找到如下图四个文件 Mac环境下反编译APK_第5张图片
  4. 打开终端进入该目录下 分次输入
// 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程序
Mac环境下反编译APK_第6张图片
6. 得出反编译的结果
Mac环境下反编译APK_第7张图片

反编译资源
  1. 首先先解压 apktool文件,接着将apk文件放入解压后的文件夹
  2. 执行
sh apktool.sh apktool d xxx.apk

会出现如下图所示场景Mac环境下反编译APK_第8张图片
紧接着 apktool下会出现 xxx的文件夹 ,打开其中的res就是你所需要的资源了。

你可能感兴趣的:(android,apk)