尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

鸿蒙HAR混淆

鸿蒙HAR混淆
📅 发布时间:2026/7/8 5:59:51

参考:

文档中心


# Define project specific obfuscation rules here. # You can include the obfuscation configuration files in the current module's build-profile.json5. # # For more details, see # https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5 # Obfuscation options: # -disable-obfuscation: disable all obfuscations # -enable-property-obfuscation: obfuscate the property names # -enable-toplevel-obfuscation: obfuscate the names in the global scope # -compact: remove unnecessary blank spaces and all line feeds # -remove-log: remove all console.* statements # -print-namecache: print the name cache that contains the mapping from the old names to new names # -apply-namecache: reuse the given cache file # Keep options: # -keep-property-name: specifies property names that you want to keep # -keep-global-name: specifies names that you want to keep in the global scope # 启用属性混淆,这代码中的属性名称将被替换为混淆后的名称 -enable-property-obfuscation # 启用顶层混淆,这将混淆代码中的所有顶层元素,包括类、函数和变量名称。 -enable-toplevel-obfuscation # 启用文件名混淆,这将混淆源代码文件中的文件名,以增加代码的隐私性。 -enable-filename-obfuscation # 启用导出混淆,这将混淆代码中的导出元素,如函数和类,以防止未授权的访问。 -enable-export-obfuscation # 删除编译生成的声明文件中的JsDoc注释 -remove-comments # 允许在源码中使用 // @KeepAsConsumer 和 // @KeepSymbol 注解 -use-keep-in-source # 允许将源码中的注解白名单,同步应用到编译生成的对外 .d.ts 声明文件中 ==> 源码里的白名单规则,能不能对最终生成的 .d.ts 文件生效 -keep-dts # 这个只能保留文件的名称,文件内部的方法名和字段名称还是被混淆的 # 不支持路径写法,只支持名称或名称通配符 -keep-file-name ./src/main/ets/xxxSDK.ets ./src/main/ets/pay/xxxPaySDK.ets ./src/main/ets/iface/IUserData ./src/main/ets/pay/listener/IPayListener #对外导出 ./Index.ets #-keep # 保留该文件夹内所有类名、属性名等,需与keep-file-name同时配置 # 该方法支持通配,例如./src/main/ets/iface/ # 但是该方法会导致所有关联引用的文件全部被 keep (keep传递),所以此处不用,使用 // @KeepAsConsumer 注解来替代 # @KeepSymbol 只管“保护自己”,而 @KeepAsConsumer 还能“传给别人”(自动生成到 obfuscation.txt 中并传给下游) # @KeepAsConsumer 会自动获取需要保护的名称注入到 obfuscation.txt 文件夹 # 需要保留有效的变量,不然json序列化中字段会变成 f5 # for getRegisterRequestInfo() -keep-property-name thirdDeviceId systemVersion appName appVersion deviceModel manufacturer -keep-global-name xxxSDK xxxPaySDK

har 有个不一样的就是 不使用 -keep ,因为 keep 会传递,导致引用到的文件都被keep,最终效果就是几乎所有的文件都keep 住。

所以使用 @KeepAsConsumer 来指定保护的文件。

但是这个只能保护文件内部的内容,所以还需要配合 -keep-file-name

使用@KeepAsConsumer 需要先打开

-use-keep-in-source -keep-dts

相关新闻

  • AI 电动滑行车智能功率 MOSFET 高效选型方案
  • 智能AI招聘面试系统:HR 真正省下来的时间,藏在面试环节里
  • 构建现代化在线考试平台的完整解决方案:基于Spring Boot + Vue.js的全栈技术架构实践

最新新闻

  • pROC 1.18.5 实战:二分类诊断模型最佳截点确定与3个关键参数避坑指南
  • Speechless终极指南:3分钟学会微博内容PDF备份完整教程
  • 2026MP4转MP3,免费全解:电脑、手机、在线无水印工具完整实操指南
  • OpenCV vs MoviePy:2种Python视频帧提取方案对比,OCR字幕识别效率实测
  • AI Agent 的下一站:软件工厂,还是失控循环?
  • 终极指南:3分钟免费解锁QQ音乐、网易云音乐加密文件,实现音乐自由

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号