0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS应用代码混淆技术方案,为你的应用安全保驾护航

looger123 来源:looger123 作者:looger123 2025-12-10 15:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

HarmonyOS应用生态蓬勃发展的今天,开发者们在全力创新、优化体验的同时,也需要为辛勤研发的成果构筑坚实可靠的安全防线。因此,为能给代码加上一层“安全锁”,保障应用安全,华为推出了系统级、高效易用的应用代码混淆技术方案。

应用代码混淆技术方案通过增加代码的复杂性与模糊性,能明显提升应用的反破解与反分析能力。该方案有以下几个方面的显著作用:

1. 保护知识产权:代码混淆防止他人轻易复制和窃取软件代码,增加逆向工程难度。

2. 防止逆向工程:逆向工程是分析软件以了解其工作原理和实现细节的过程。代码混淆可增加逆向工程的难度,保护应用程序免受恶意修改或破坏。

3. 提高安全性:代码混淆减少漏洞和安全风险,增加攻击者利用漏洞的难度。

4. 降低反盗版和欺诈风险:混淆代码可增加攻击者破解软件许可验证系统或修改代码绕过付费机制的难度,从而减少盗版和欺诈。

针对工程源码的混淆提高破解难度,缩短类和成员名称,减小应用大小。

混淆开启

从DevEco Studio版本4.0 Beta1开始,hvigor插件提供代码混淆功能。开启混淆的条件如下:

·工程为Stage模型

·在Release编译模式下

·模块build-profile.json5文件中开启混淆配置

wKgZPGk5HbSAYTpIAABY-FPjDeo043.png

注意:“enable”默认为“false”,默认不开启代码混淆功能。

满足开启混淆的条件后,选择目标模块,点击Build -> Make Module 开始编译。

如果工程或模块是Static Library,则该工程或模块是一个HAR。

构建HAR时有以下三种方式:

1. 以Debug模式构建HAR,会直接打包源码,不进行代码混淆。

2. 以Release模式构建HAR,会编译、混淆并压缩代码。

3. 构建字节码格式的HAR。开启混淆时,编译器会先对源码中间文件进行混淆,再生成abc字节码。

图1DevEco Studio选择release编译模式

wKgZO2k5HbSAJtOQAAECuJUTMgQ786.png

图2DevEco Studio指定模块编译

wKgZPGk5HbSAR1KoAAFk9JEJa6o196.png

混淆配置能力

编译选项

若按照上述编译流程开启代码混淆,在DevEco Studio 5.0.3.600 之前的版本,默认仅混淆参数名和局部变量名。从 DevEco Studio 5.0.3.600 版本起,默认启用四项推荐的混淆选项:-enable-property-obfuscation、-enable-toplevel-obfuscation、-enable-filename-obfuscation 和 -enable-export-obfuscation。开发者可以根据需要进一步修改混淆配置。

混淆配置

在每个模块下都能找到build-profile.json5 文件,如下图所示。可以在此文件中配置是否开启混淆及混淆配置文件。

图3编译配置文件

wKgZO2k5HbSAJK5CAADYWXKBGyc856.png

新建工程时,每个模块下都有obfuscation-rules.txt 文件,用于配置混淆。

图4混淆配置文件

wKgZPGk5HbWAZTvKAAFlLvbW95A114.png

在上图中,obfuscation-rules.txt文件中添加了-enable-property-obfuscation和-enable-toplevel-obfuscation开关,表示已启用属性混淆和顶层作用域名称混淆。

DevEco Studio混淆现有选项及功能描述如下:

wKgZO2k5HbWAa9POAABo6mElDlo507.pngwKgZPGk5HbWAAjZxAABkhaDyLMQ808.png

混淆选项具体的使用方法和样例代码可以参考代码混淆

混淆优化建议

开发人员混淆工程时,发现缓存文件或SDK中的文件中存在大量未混淆的源码名称。原因包括以下两类:

·混淆选项开启较少;开启-enable-property-obfuscation、-enable-toplevel-obfuscation、-enable-export-obfuscation、-enable-filename-obfuscation选项。

· 源码名称与系统白名单、语言白名单重名;添加后缀避开白名单。

混淆规则合并策略

在编译一个模块时,生效的混淆规则是当前编译模块混淆规则和依赖模块混淆规则的合并结果。具体规则请参考:混淆规则合并策略

查看混淆结果

开发人员在编译模块的build目录中可找到编译和混淆生成的缓存文件、名称映射表及系统API白名单文件。

· 源码编译及混淆缓存文件目录:build/[…]/release/模块名

· 混淆名称映射表及系统API白名单目录:build/[…]/release/obfuscation

名称映射表文件:nameCache.json,记录源码名称映射。

系统API白名单文件:systemApiCache.json,记录SDK接口与属性名称。

图5DevEco Studio编译产物与缓存文件

wKgZO2k5HbWAWwU7AABGfEFrZ2A937.png

调试

代码经过混淆工具处理后,名称会发生更改,这可能导致运行时崩溃堆栈日志难以理解,因为堆栈与源代码不完全一致。如果未保留调试信息,行号及名称更改将导致无法准确定位问题。此外,启用-enable-property-obfuscation、-enable-toplevel-obfuscation等选项后,代码混淆可能会引发运行时崩溃或功能性错误。开发人员需要还原报错堆栈,排查并配置白名单以确保功能正常。

函数调用栈还原

经过混淆的应用程序中代码名称会发生更改,因此报错栈与源码不完全一致,crash时打印的报错栈会难以理解,如何处理请参考报错栈还原

反混淆工具hstack

hstack需要将Node.js配置到环境变量中,详细使用说明请参考hstack

使用第三方加固

HarmonyOS提供的代码混淆能力之外,开发者还可以使用第三方安全厂商提供的高级混淆和加固能力。多家安全加固厂商已经启动了HarmonyOS开发,开发者可以根据需求选择这些安全厂商的服务。开发者需要与第三方安全厂商自行沟通合作方式和范围,本文档不做详细说明。具体的官方与第三方代码混淆能力的关系如下:

wKgZPGk5HbaACBvSAAClmDzBJtk395.png

由于HarmonyOS代码签名、应用加密等安全机制的限制,以及应用市场上架审核的纯净安全要求,三方加固厂商提供的安全加固内容必须满足以下六点要求:

1、不允许隐藏敏感系统API的调用,审核人员必须能够清晰地看到应用的特性。

2、不允许混淆非自研的SDK。SDK应由SDK厂商自行进行混淆保护。如果非自研SDK被混淆,将会影响应用市场审核相关SDK的指纹信息。

3、通过第三方安全加固的应用程序,必须确保不包含恶意行为,以免对生态系统造成影响。此要求为约束性条款,不遵守可能导致应用被下架。

4、不允许使用第三方虚拟机,HarmonyOS系统通过代码签名等机制限制动态加载代码,这可能导致应用无法正常运行。

5、不允许对方舟字节码文件进行篡改,此方法可能让应用无法正常运行,以及影响应用市场对应用的纯净安全进行审核。

6、不允许对系统库使用hook技术,此方法影响应用市场对应用的纯净安全进行审核。

未来,该方案将持续演进,强化混淆算法与生态协同,携手开发者共建可信环境。它不仅是保护应用知识产权、抵御逆向工程的关键盾牌,更是HarmonyOS生态安全稳健发展的基石,护航创新,共赢未来。更多应用安全相关应用代码混淆指南请访问HarmonyOS开发者官网,搜索关键词“应用代码混淆”。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为
    +关注

    关注

    218

    文章

    35802

    浏览量

    260769
  • 代码
    +关注

    关注

    30

    文章

    4942

    浏览量

    73160
  • HarmonyOS
    +关注

    关注

    80

    文章

    2147

    浏览量

    35590
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HarmonyOS应用代码混淆技术方案

    代码混淆技术可以增加代码的复杂性和模糊性,从而提高攻击者分析代码的难度。
    的头像 发表于 11-21 16:17 5351次阅读
    <b class='flag-5'>HarmonyOS</b>应用<b class='flag-5'>代码</b><b class='flag-5'>混淆</b><b class='flag-5'>技术</b><b class='flag-5'>方案</b>

    FLIR早期火灾探测技术林业安全保驾护航

    设施更是首当其冲。面对这一挑战,Flir的早期火灾探测(EFD)技术以其精准、高效的特点,林业安全保驾护航
    的头像 发表于 11-14 14:09 453次阅读

    解决锂电池一致性难题!景锂新能源电池均衡仪储能安全/电动车续航保驾护航

    解决锂电池一致性难题!景锂新能源电池均衡仪储能/电动车电池续航保驾护航
    的头像 发表于 11-06 11:00 369次阅读

    曙光数创您的数据中心建设保驾护航

    每一台曙光数创生产的设备背后,都是一场围绕着“品质”的马拉松。从原料进场到设备出厂,几十道流程环环相扣,曙光数创用20年的“较真精神”,把品质藏进了生产线的每个细节里,您的数据中心建设保驾护航
    的头像 发表于 09-30 16:15 1076次阅读

    光伏电站气象监测系统:清洁能源高效发电保驾护航

    光伏电站气象监测系统:清洁能源高效发电保驾护航 柏峰【BF-GFQX】在全球能源结构向清洁能源转型的浪潮中,光伏发电凭借其清洁、可再生的优势,得到了前所未有的发展。然而,光伏电站的发电效率深受气象条件影响,
    的头像 发表于 07-21 11:47 409次阅读
    光伏电站气象监测系统:<b class='flag-5'>为</b>清洁能源高效发电<b class='flag-5'>保驾护航</b>

    车规级二三极管、MOS管、LDO选型应用 车灯保驾护航

    在汽车照明系统中,常用到保护器件、二极管、三极管、MOSFET、LDO、IC等功率半导体器件,这些元器件承载着至关重要的作用:浪涌静电防护、整流、隔离、启动、电流放大等等,汽车车灯稳定运行保驾护航
    的头像 发表于 04-24 17:07 913次阅读
    车规级二三极管、MOS管、LDO选型应用 <b class='flag-5'>为</b>车灯<b class='flag-5'>保驾护航</b>

    eUPS0505断电续航模块,嵌入式系统保驾护航

    保驾护航。应用场景与作用在嵌入式系统中,有许多关键设备如主控MCU和存储器都需要稳定的电力供应,倘若遇到外部供电意外断电,则极易导致存储器数据丢失甚至系统损坏,因此就有
    的头像 发表于 04-15 11:38 512次阅读
    eUPS0505断电续航模块,<b class='flag-5'>为</b>嵌入式系统<b class='flag-5'>保驾护航</b>

    充电桩安全用电消防系统:电动自行车保驾护航

    。今天,我们就来聊聊充电桩安全用电消防系统,看看它是如何为电动自行车保驾护航的。 电动自行车充电桩,作为电动自行车充电的基础设施,其安全性直接关系到广大车主的生命财产安全。近年来,因充
    的头像 发表于 04-01 14:11 585次阅读

    充电桩“耐力大考验”:老化负载研究,持久续航保驾护航

    虚拟仿真技术,模拟各种复杂环境下的老化过程,缩短测试周期,降低测试成本。 充电桩老化负载研究,是保障充电桩安全可靠运行的重要环节,也是推动充电桩行业健康发展的重要力量。让我们共同期待,更智能、更可靠的充电桩,绿色出行
    发表于 02-28 14:42

    一文速览 30KPA48A:快速响应,电路安全保驾护航

    一文速览 30KPA48A:快速响应,电路安全保驾护航
    的头像 发表于 02-22 10:15 879次阅读
    一文速览 30KPA48A:快速响应,<b class='flag-5'>为</b>电路<b class='flag-5'>安全</b><b class='flag-5'>保驾护航</b>

    安科瑞蓄电池在线监控系统铁塔基站的稳定运行保驾护航

    简婷 安科瑞电气股份有限公司 上海嘉定 201801  安科瑞蓄电池在线监控系统铁塔基站的稳定运行保驾护航 技术支持18701998775     国家大力实施网络强国战略,移动通
    的头像 发表于 02-20 16:54 634次阅读
    安科瑞蓄电池在线监控系统<b class='flag-5'>为</b>铁塔基站的稳定运行<b class='flag-5'>保驾护航</b>

    无人机电力巡检系统电网安全保驾护航

           无人机电力巡检系统电网安全保驾护航        电力,现代社会的命脉,其稳定运行关乎国计民生。而电力巡检,作为保障电网安全的首道防线,却长期面临着效率低、风险高、成本
    的头像 发表于 02-07 18:06 924次阅读

    5KP26A 二极管:26V 精准稳压,电路安全保驾护航

    5KP26A 二极管:26V 精准稳压,电路安全保驾护航
    的头像 发表于 01-21 14:07 1334次阅读

    无人机光伏巡检系统光伏发电保驾护航

           无人机光伏巡检系统光伏发电保驾护航        在当下,光伏发电行业正处于高速发展的黄金时期,光伏电站的规模也在不断扩大。然而,在这繁荣的背后,光伏维护与巡检却面临着诸多挑战。幸运
    的头像 发表于 01-13 16:25 790次阅读

    低温自动加热型激光雪深传感器:交通出行保驾护航

    冬日里的暖阳,交通出行保驾护航,让人们在冰雪中也能畅行无阻。 这款传感器融合了前沿的激光测距技术与巧妙的低温自动加热设计。其工作原理基于激光脉冲的精准发射与反射。当传感器开启工作模式,它会向雪面发射一束高
    的头像 发表于 01-07 13:49 616次阅读