产品文档 > 移动安全 > H5 代码混淆

H5代码混淆

一、产品简介

H5代码混淆产品,通过顶象的多层加密体系,对H5文件进行加密、混淆、压缩,可以有效防止H5源代码被黑灰产复制、破解。

二、产品特点

  • 顶象特有的多层加密体系,加密、混淆、压缩等手段相结合
  • 只需一键操作,即可获得加密后链接,操作简单,极致体验
  • 加密后的链接将被分发到各个CDN节点,极大提高用户H5页面的访问速度
  • 定期的加密混淆,让您的产品更安全

三、业务流程

  • 只需一键提交,系统自动完成加密、混淆、压缩、分发的工作
  • 每天自动更新混淆算法,并将更新后的JS文件分发到CDN

四、混淆原理

  • 对代码中的数字,正则表达式、对象属性访问等统一转为字符串的表示形式
  • 对字符串进行随机加密(多种加密方式,倒序/随机密钥进行轮函数加密等)
  • 对字符串进行拆分,并分散到不同作用域
  • 打乱函数顺序
  • 将原有的代码执行流程扁平化为switch case的方式
  • 提取常量为数组引用的方式
  • 去除代码中的空格、换行符等,降低可读性
  • 混淆变量名、函数名为a/b/c等不易阅读的短字符

五、使用说明

(1) 上传需要防护的JS文件

(2)顶象通过加密、混淆、压缩等技术手段,对文件进行安全防护

(3) 获取经过加密混淆后的的URL

(4)在您的工程文件中加载引用此URL

(5)为了提高产品安全性,顶象会定期对您之前上传的文件进行加密混淆,您可以在任务列表中查看到最新的混淆时间

六、常见问题

  • 代码混淆后的文件兼容性如何?

兼容各种主流浏览器、微信、小程序等环境。

  • 为什么混淆之后代码看起来没太大变化?

为了保证混淆的安全性,目前不会对直接写在顶层作用域的代码做混淆;所以如果代码没太大变化,请在上传文件前,保证代码运行在闭包内,如:

(function() {
// 您的代码
})()

注:用webpack等打包工具打包之后的代码,有利于加密混淆的操作执行。

  • 为什么混淆会失败?

目前混淆是基于babel的语法解析,如果用了一些默认未开启的写法可能会无法解析,请混淆构建之后的代码。 如果您的代码没有语法错误而又混淆失败了,请联系您的商务经理或者官网在线客服。

  • 是否有私有化的方案?

目前可提供私有化的命令行工具,或者webpack/gulp插件,请联系您的商务经理或者官网在线客服获取私有化授权


文档版本: 9fa02a45

加入社群

扫码进群领
【业务安全】资料礼包

在线咨询
400-878-6123