当前位置: 首页 > news >正文

鸿蒙HAR混淆

参考:

文档中心


# 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
http://www.jsqmd.com/news/1145907/

相关文章:

  • GHelper:重新定义你的华硕笔记本使用体验
  • 自动扒谱软件|2026年最新主流音乐扒谱工具测评
  • 6轴IMU与运动控制MCU在智能穿戴中的精准运动追踪方案
  • ROS2 Humble Livox MID360+FAST-LIO2 动态水平补偿避障节点完整实现和安装角度偏移补偿计算脚本
  • “6级风能飞”不是参数,是市场策略——极端环境能力=竞品进不去的门
  • 一颗冰葡萄的旅程:紫桐冰酒酿造工艺全解密
  • 附录B:在IntelliJ IDEA中打开并运行Java项目(JDK 17)完整教程
  • QT_字符串类应用与常用基本数据类型
  • 共享菜园行业深度分析:商业模式、运营数据与破局路径(2026)
  • AI正在消灭酒店预订的“信息差税“:同一房间OTA价差40%,AI比价正在帮你省钱
  • Netcat for Windows 终极指南:掌握Windows网络调试的瑞士军刀
  • WSL2 + PyTorch 2.3.0 CUDA 12.1 环境配置:3个关键验证步骤与常见 GPU 识别问题排查
  • SCI论文的最佳写作顺序是啥?
  • 智能AI招聘面试系统:HR 真正省下来的时间,藏在面试环节里
  • AI 电动滑行车智能功率 MOSFET 高效选型方案
  • 监督学习 vs 无监督学习:3个核心场景与5种算法实战对比分析
  • 不用GPU、不用写Dockerfile,我是怎么1小时搭出可上线的AI Agent的
  • vue3组合式函数(Composables)的艺术——将业务逻辑从UI组件中连根拔起
  • Windhawk:无需代码的Windows终极个性化定制指南
  • 一晃,就老了
  • 30套可视化大屏模板,直接套用!覆盖经营、销售、生产、财务、人效场景
  • HarmonyOS APP《画伴梦工厂》开发第50篇-从项目到生态——鸿蒙应用上架与持续演进
  • PROPKA蛋白质pKa预测:从入门到精通的完整指南
  • 2026年9款工程管理系统开源软件排行榜(开源与商业哪个好)
  • 构建现代化在线考试平台的完整解决方案:基于Spring Boot + Vue.js的全栈技术架构实践
  • OpenClaw 生产级 Docker Compose 编排与健康检查实践
  • PROPKA蛋白质pKa预测工具:从三维结构解析电荷状态的关键技术
  • AI语音机器人技术实测解析:传统固定话术机器人 vs 优音通信大模型语音机器人
  • 化工行业SAP转型为什么难?从Sun Chemical和陶氏化学的案例看答案
  • Photoshop 完整滤镜菜单全解析(主菜单 + 全部子菜单,功能 + 使用场景)