news 2026/8/7 18:03:22

二十三、【鸿蒙 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/8/4 7:06:46

胡桃工具箱:原神玩家的智能桌面助手完全指南

胡桃工具箱:原神玩家的智能桌面助手完全指南 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao 你…

作者头像 李华
网站建设 2026/7/31 12:01:59

轻量级AI开发环境趋势:Miniconda-Python3.10引领行业变革

轻量级AI开发环境的现代实践:Miniconda与Python 3.10如何重塑开发体验 在AI模型日益复杂、团队协作愈发频繁的今天,一个常见的场景是:某位研究员兴奋地分享他的最新实验成果,代码也已上传至Git仓库,但团队其他成员却无…

作者头像 李华
网站建设 2026/8/7 1:26:47

开源BIN数据库:金融支付开发的终极数据解决方案 [特殊字符]

开源BIN数据库:金融支付开发的终极数据解决方案 💳 【免费下载链接】binlist-data An open-source list of bank BIN/IIN numbers 项目地址: https://gitcode.com/gh_mirrors/bi/binlist-data 在数字化支付飞速发展的今天,银行卡BIN&a…

作者头像 李华
网站建设 2026/7/28 17:09:38

磁盘空间分析神器:一键释放存储空间的专业解决方案

磁盘空间分析神器:一键释放存储空间的专业解决方案 【免费下载链接】windirstat WinDirStat is a disk usage statistics viewer and cleanup tool for various versions of Microsoft Windows. 项目地址: https://gitcode.com/gh_mirrors/wi/windirstat 您的…

作者头像 李华
网站建设 2026/7/29 21:06:35

胡桃工具箱:原神玩家的智能游戏助手

胡桃工具箱:原神玩家的智能游戏助手 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao 胡桃工具箱…

作者头像 李华