news 2026/4/18 0:51:51

二十三、【鸿蒙 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/4/16 23:56:49

如何零基础玩转PKHeX自动修改:宝可梦训练师的终极指南

如何零基础玩转PKHeX自动修改:宝可梦训练师的终极指南 【免费下载链接】PKHeX-Plugins Plugins for PKHeX 项目地址: https://gitcode.com/gh_mirrors/pk/PKHeX-Plugins 还在为宝可梦数据修改而烦恼吗?AutoLegalityMod作为PKHeX的强大插件&#x…

作者头像 李华
网站建设 2026/4/18 0:51:44

ALVR无线VR串流完全指南:解锁高性能无线虚拟现实体验

想要摆脱VR线缆的束缚,体验真正自由的沉浸式虚拟现实吗?ALVR作为一款开源的无线VR串流解决方案,通过创新的Wi-Fi传输技术,让你在10米范围内享受高性能VR体验。这款软件支持Oculus Quest、Pico Neo等主流头显设备,为游戏…

作者头像 李华
网站建设 2026/4/16 21:57:23

TrafficMonitor插件系统:打破数据孤岛的跨平台兼容性革命

在数字化时代,我们面临的最大挑战不是数据太少,而是数据太多却无法互通。当TrafficMonitor插件系统尝试将硬件监控、金融数据、天气信息等不同领域的数据整合到一个统一界面时,一场关于数据格式兼容性的技术革命悄然展开。🚀 【免…

作者头像 李华
网站建设 2026/4/10 20:15:14

5大核心功能揭秘:BiliBili-UWP如何重塑你的Windows视频体验

5大核心功能揭秘:BiliBili-UWP如何重塑你的Windows视频体验 【免费下载链接】BiliBili-UWP BiliBili的UWP客户端,当然,是第三方的了 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBili-UWP BiliBili-UWP是一款专为Windows系统打造…

作者头像 李华
网站建设 2026/4/18 0:50:12

WeChatFerry:微信自动化框架的完整使用指南

在当今快节奏的数字化生活中,微信已经成为我们日常沟通的重要工具。今天,我将为大家详细介绍一款功能强大的微信自动化框架——WeChatFerry,这款工具能够帮助开发者轻松实现微信的智能化交互,让重复性工作变得高效便捷&#xff01…

作者头像 李华
网站建设 2026/4/16 4:43:42

ComfyUI ControlNet Aux插件模型下载终极解决方案指南

你是否曾经满怀期待地安装好ComfyUI ControlNet Aux插件,准备体验强大的图像预处理功能,却意外地卡在了模型下载环节?🤔 那个令人沮丧的"downloading..."状态提示,就像一道无形的屏障,阻碍着你进…

作者头像 李华