鸿蒙应用.hap包结构
鸿蒙应用的 .hap
文件是HarmonyOS Ability Package的缩写,它是一个应用的部署包,由代码、资源、第三方库及应用配置文件组成。.hap
文件可以分为 Entry
和 Feature
两种类型:
1、Entry类型的HAP:应用的主模块,作为应用的入口,提供了应用的基础功能。在同一个应用中,同一设备类型只支持一个Entry类型的HAP。
2、Feature类型的HAP:应用的动态特性模块,作为应用能力的扩展,可以根据用户的需求和设备类型进行选择性安装
.hap
文件解包后,其结构和用处如下:
-
• ets目录:存放编译后的源码文件,包括
modules.abc
(源码编译之后的方舟字节码)和sourceMaps.map
(abc文件的索引文件)。 -
• libs目录:用于存放库文件。库文件是HarmonyOS应用依赖的第三方代码,例如
.so
(共享对象)二进制文件。 -
• resources目录:存放资源文件,包括图片、字符串、音频和rawfile中的文件等。
-
• module.json:HAP包的配置文件,包含每个Ability必须定义的基本属性(如包名、类名、类型以及Ability提供的能力),以及应用访问系统或其他应用受保护部分所需的权限等。
-
• pack.info:配置文件,用于描述每个HAP属性的文件,例如app中的bundleName和versionCode信息、module中的name、type和abilities等信息,由IDE工具生成Bundle包时自动生成。
-
• resources.index:资源目录的索引文件。
用ABCDE反编译工具查看包
resources.index
modules.abc
历史文章
HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)
随手分享、点赞、在看是对我们最大的支持
原文始发于微信公众号(数据取证杂谈):鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论