专业的JavaScript混淆加密:JShaman
JShaman轻量版功能详解
简介
JShaman轻量版是JShaman.com研发的专业JavaScript代码混淆加密产品,为平台形式。
具有保护效果强大、功能稳定、开放WebAPI、全自主技术等特点。
功能
JShaman轻量版目前具有18项混淆加密功能。
完整启用各功能时,保护效果如下所示:
保护前的代码:
配置:
保护结果:
以下给出各混淆加密项目的单独说明及保护效果。
- 局部变量名、函数名混淆
可对局部变量名称进行变形,赋以无意义、不规律的名称。效果如下:
保护前:
配置:
保护后:
- 全局变量名混淆、全局函数名混淆
与上相信,区别在于之前是针对局部变量,此处可处理全局变量。效果如下:
保护前:
配置:
保护结果:
- 成员函数加密
可对JavaScript内置语法方法进行加密,如console.log()中的log函数。
效果如下:
保护前:
配置:
保护结果:
- 数值常量加密
将数值常量变为运算表达式,效果如下:
保护前:
配置:
保护后:
- 二进制表达式混淆
将二进制表达式变形为函数调用表达式,效果如下:
保护前:
配置:
保护结果:
- 布尔型数值加密
对true、false值进行加密,效果如下:
保护前:
配置:
保护后:
- 字符串Unicode化加密
效果如下:
保护前:
配置:
保护结果:
- Eval加密
对特定的语句进行Eval加密,效果如下:
保护前:
配置:
保护结果:
- 平展控制流
将函数中代码平坦化,并打乱代码显示顺序,效果如下:
保护前:
配置:
保护结果:
- 收缩控制流
将函数中符合条件的多行代码收缩为单行,形成逗号运算符语法,效果如下:
保护前:
配置:
保护后:
- 字符串阵列化
将代码中包含的字字符串集中放置到数组,效果如下:
保护前:
配置:
保护结果:
- 阵列字符串加密
字符串阵列化后生效,将阵列中的字符串内容进行加密,效果如下:
保护前:
配置:
保护结果:
- 虚拟机执行保护
将某些代码转为虚拟机OP指令,在虚拟机中执行,效果如下:
保护前:
配置:
保护结果:
- 代码压缩
去除回车换行、空格,压缩代码体积。效果如下:
压缩前:
压缩后:
- 反格式化
需要与代码压缩同时使用,如以下保护后的代码:
如果此代码被美化、格式化,将无法运行:
- 保留注释
默认保护后,会清除掉代码中所有注释语句,如需保留注释,则使用此项。
- 保留关键字
对指定名称的字符串、函数名、变量名不进行保护,效果如下:
保护前:
如不使用保留字功能,勾选以下选项:
保护结果:
如果选择保留关键字,并填入“abc”:
则保护结果成为:
注:保留字最多可设置255个。