对 Android APK <XXX.apk> 进行反编译
- 修改 APK 的扩展名,将
XXX.apk
修改为XXX.zip
- 对修改后的进行解压缩,解压后的文件列表如下图所示:
lib
文件夹:存放so
文件,是第三方native库文件META-INF
文件夹:参考
The META-INF directory
The following files/directories in the META-INF directory are recognized and interpreted by the Java 2 Platform to configure applications, extensions, class loaders and services:
Java 2平台识别和解释META-INF目录中的文件/目录,以配置应用程序、扩展、类加载器和服务:
MANIFEST.MF
The manifest file that is used to define extension and package related data.
用于定义扩展和包相关数据的清单文件。
INDEX.LIST
This file is generated by the new “-i” option of the jar tool, which contains location information for packages defined in an application or extension. It is part of the JarIndex implementation and used by class loaders to speed up their class loading process.
该文件是由jar工具的新“-i”选项生成的,该选项包含应用程序或扩展中定义的包的位置信息。它是JarIndex实现的一部分,类装入器使用它来加快类装入过程。
x.SF
The signature file for the JAR file. ‘x’ stands for the base file name.
JAR文件的签名文件。'x’表示基本文件名。
x.DSA
The signature block file associated with the signature file with the same base file name. This file stores the digital signature of the corresponding signature file.
签名块文件与具有相同基础文件名的签名文件相关联。该文件存储相应签名文件的数字签名。
services/
This directory stores all the service provider configuration files.
此目录存储所有服务提供程序配置文件。
res
文件夹:存放资源文件AndroidManifest.xml
:Android 的清单文件,该文件向Android系统展示了应用程序的基本信息,这些信息是系统在运行应用程序的任何代码之前必须具备的。classes.dex
:Java源代码由Java编译器编译成.class文件。然后dx (dexer)工具(Android SDK的一部分)将.class文件处理成名为DEX的文件格式,其中包含Dalvik字节代码。用于在Dalvik虚拟机运行。resources.arsc
:ARSC文件是一个Android资源表文件,它以表格格式包含应用程序的资源列表。这包含资源名称、属性和id等信息。