鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

admin 2024年11月1日11:30:55评论33 views字数 864阅读2分52秒阅读模式

鸿蒙应用.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:资源目录的索引文件。

鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

用ABCDE反编译工具查看包

鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

resources.index

鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

modules.abc

鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

历史文章

HarmonyOs开发第一步

HarmonyOS Next模拟器Root(无视模拟器镜像完整性验证)

知识征集令:「移动安全」专题

随手分享、点赞、在看是对我们最大的支持鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

原文始发于微信公众号(数据取证杂谈):鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月1日11:30:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   鸿蒙(HarmonyOS、OpenHarmony)逆向基础—认识包结构https://cn-sec.com/archives/3342120.html

发表评论

匿名网友 填写信息