一、概述

1.1 APK 文件结构

用解压软件解压 apk 文件,大致能够得到以下几个文件/文件夹:

  • assets/
  • lib/
  • META-INF/
  • res/
  • AndroidManifest.xml
  • classes.dex
  • resources.arsc

1.2 APK 文件中的 AndroidManifest.xml

功能:App 的配置清单文件。

用记事本直接打开 AndroidManifest.xml 发现乱码,用Sublime打开,出现 16 进制数。

二、AndroidManifest.xml 的乱码问题

2.1 乱码原因

处于安全、Apk 体积等因素的考量,在打包过程中,按照一定规则(安全、轻量、机器易读), AndroidManifest.xml 会被压缩。

因而,当直接查看 APK 文件中的 AndroidManifest.xml 文件时,得到的是乱码。

2.2 正确解码

Android 逆向之旅—解析编译之后的 AndroidManifest 文件格式 文章详细介绍了 AndroidManifest.xml 的解码技术,文末附项目的 github 地址。

2.3 亲测可用

为了验证其可用性,我使用了知乎 app 的 AndroidManifest 进行测试,解析结果如下图。完美!