android - .apk 没有正式的格式规范吗?

标签 android reverse-engineering apk dalvik

我见过一些将 .apk 文件反转为基本文件的应用程序。我想知道在哪里可以找到 .apk 文件的官方规范,但我找不到任何地方!如果没有正式的规范,有人可以告诉我们在哪里查看规范的最佳资源吗?

最佳答案

我不知道是否有官方规范,但通过浏览我的应用程序的文件结构,我推断出以下内容:

-.apk 只是一个 zip 文件,可以在任何合适的应用程序(7zip、WinZip、WinRAR、任何操作系统的默认 .zip 工具)中打开。

-它必须在根目录中包含一个 AndroidManifest.xml 文件(尽管这是一个已编译的 .xml 文件,不是人类可读的)。

-它必须包含一个 classes.dex 文件,其中包含编译为 Dalvik 字节码的实际二进制代码。

-它必须包含一个resources.arsc 文件。我相信它是/res 文件夹中所有内容的索引,但我并不肯定。

- 它必须在包含 CERT.RSA、CERT.SF 和 MANIFEST.MF 的根目录中包含一个 META-INF 文件夹。这些是应用程序的数字签名文件。

-应用程序可能包含文件夹/assets、/res 和/raw,其中包含图像和数据库等资源文件。

-应用程序可能包含一个/lib 文件夹,其中包含所有 native 代码目标(如 armeabi)的文件夹,其中包含 .so 文件( native 代码)。

我可能错过了很多东西,但这应该会给你一个好的开始。

关于android - .apk 没有正式的格式规范吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880273/

相关文章:

android - 如何从 Android Oreo 禁用新的自动填充功能以进行 Espresso 测试

android - 我可以从 XML 实例化/扩充 View 吗?

assembly - 二元炸弹 - 第 2 阶段

android - 从 sdcard 文件中获取 apk 信息

android - FloatingActionButton 图标动画(Android FAB src 可绘制动画)

android - 如何使用 GUI 可靠地将文件传输到 Android 模拟器 SDCard?

reverse-engineering - 获取 Steam 用户的库存上下文

security - 应用程序逆向工程保护/加固

android - 将 armeabi 和 armeabi-v7a 库与 APK 拆分一起使用

android - 减少带有大量音频和视频文件的 apk 的大小