MASTG-TOOL-0011: Apktool
Apktool 用于解包 Android 应用包 (APK)。简单地使用标准
unzip
实用程序解压缩 APK 会导致某些文件无法读取。 AndroidManifest.xml
被编码为二进制 XML 格式,文本编辑器无法读取。此外,应用资源仍然打包到一个存档文件中。
使用默认命令行标志运行时,apktool 会自动将 Android Manifest 文件解码为基于文本的 XML 格式,并提取文件资源(它还会将 .DEX 文件反汇编为 smali 代码 - 我们将在本书后面重新讨论此功能)。
在解压的文件中,通常可以找到(在运行 apktool d base.apk
之后)
- AndroidManifest.xml:解码后的 Android Manifest 文件,可以在文本编辑器中打开和编辑。
- apktool.yml:包含有关 apktool 输出的文件信息
- original:包含 MANIFEST.MF 文件的文件夹,其中包含有关 JAR 文件中包含的文件的信息
- res:包含应用资源的目录
- smali:包含反汇编的 Dalvik 字节码的目录。
您还可以使用 apktool 将解码的资源重新打包回二进制 APK/JAR。请参阅 探索应用包 和 重新打包和重新签名 技术,了解更多信息和实际示例。