news 2026/2/6 18:27:23

二十三、【鸿蒙 NEXT】代码混淆

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
二十三、【鸿蒙 NEXT】代码混淆

【前言】

一般app应用上架前都会对代码进行混淆,来增加通过阅读代码推测其功能的难度,下面就介绍下如何快速的对鸿蒙代码进行混淆配置

1、开启混淆配置

在build-profile.json5中开启混淆,如下,指向两个配置文件,一个是./obfuscation-rules.txt,该文件主要是在编译本模块时生效,另一个是./consumer-rules.txt在编译依赖本模块的其他模块时生效,一般我们在obfuscation-rules.txt配置混淆规则,在consumer-rules.txt配置一些需要保持的文件规则,因为有些文件被其他模块依赖,如果名称被混淆,可能引起功能问题。

build-profile.json5中开启混淆的配置:

"arkOptions": { "obfuscation": { "ruleOptions": { "enable": true, // 开启混淆开关 "files": ["./obfuscation-rules.txt"] // 指定配置混淆规则文件, 在编译本模块时生效。 }, "consumerFiles": ["./consumer-rules.txt"] // 指定配置混淆规则文件, 在编译依赖本模块的其他模块时生效。 } }

obfuscation-rules.txt配置如下:

总共支持4中混淆规则,如下图,分别表示开启属性名称混淆、顶层作用域名称混淆、文件名混淆及导入导出名称混淆功能:

其中一般情况下这两个必须配置:

-enable-toplevel-obfuscation
-enable-export-obfuscation

另外两个推荐业务配置,这个看每个业务的情况。

二、如何快速排查需要保持的文件

由于我们一些类,属性或者文件被混淆后可能引起功能问题,因此我们需要配置白名单,将这些文件保持原样,不混淆。对应大型应用来说,如果靠人工一个个排查,非常耗时,这里可以依赖devStudio的混淆工具来替我们扫描代码,直接生成配置文件,如下图:直接在Tools下,点击混淆扫描工具,然后在右侧选择模块,及配置的混淆规则,最后点击右下角的扫描

最终会在每个模块目录下生成一个配置文件Hm-recommend-keep-list.txt,我们可以将这个配置文件路径加入build-profile.json5中,或者直接将文件中的内容直接复制到consumer-rules.txt,这样混淆基本完成,我们接下来安装应用验证下功能就行。

这里要注意编译时要选择release模式编译。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/30 11:58:39

usb_burning_tool刷机工具固件结构解析与重组实践

深入拆解 usb_burning_tool 刷机包:从固件结构到定制化实战 你有没有遇到过这样的场景? 产线突然反馈一批设备“变砖”,无法启动; 客户要求预装私有系统,但原厂只提供完整镜像; 调试 kernel 时每次都要…

作者头像 李华
网站建设 2026/2/5 17:31:49

终极指南:VRoidStudio中文界面一键配置,3D角色创作零门槛

终极指南:VRoidStudio中文界面一键配置,3D角色创作零门槛 【免费下载链接】VRoidChinese VRoidStudio汉化插件 项目地址: https://gitcode.com/gh_mirrors/vr/VRoidChinese 还在为VRoidStudio的英文界面而烦恼吗?这款开源汉化插件能帮…

作者头像 李华
网站建设 2026/2/6 8:18:57

nrf52832在Keil中程序下载的完整示例

手把手教你搞定 nRF52832 在 Keil 中的程序下载:从零开始,一次成功 你有没有遇到过这样的情况? 工程编译通过了,J-Link也连上了,电源正常、引脚都焊好了——可一点击“Download”,Keil 就弹出 “No Targ…

作者头像 李华
网站建设 2026/2/5 9:11:36

vgpu_unlock终极指南:5分钟快速部署消费级GPU虚拟化方案

vgpu_unlock是一款革命性的开源工具,专门用于解锁消费级NVIDIA GPU的vGPU功能。通过软件技术手段,让您的GeForce显卡也能享受专业级的虚拟化技术!本文将为您提供完整的安装配置教程和深度技术解析。 【免费下载链接】vgpu_unlock Unlock vGPU…

作者头像 李华
网站建设 2026/2/6 22:34:57

零成本搭建专属翻译引擎:LibreTranslate全栈部署实战

零成本搭建专属翻译引擎:LibreTranslate全栈部署实战 【免费下载链接】LibreTranslate Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup. 项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslate …

作者头像 李华
网站建设 2026/2/6 13:14:33

Miniconda中使用rsync同步大量数据文件

Miniconda 环境中高效同步海量数据:rsync 实战指南 在人工智能实验室的深夜,你正准备将训练了三天的模型从本地工作站推送到远程 GPU 集群——结果 scp 命令卡在 98%,网络波动导致传输中断。重新开始?意味着又要等待五小时。这不仅…

作者头像 李华