专业的JavaScript混淆加密:JShaman

JShaman轻量版功能详解

简介

JShaman轻量版是JShaman.com研发的专业JavaScript代码混淆加密产品,为平台形式。

具有保护效果强大、功能稳定、开放WebAPI、全自主技术等特点。

功能

JShaman轻量版目前具有18项混淆加密功能。

完整启用各功能时,保护效果如下所示:

保护前的代码

配置:

保护结果:

以下给出各混淆加密项目的单独说明及保护效果。

1、局部变量名、函数名混淆

可对局部变量名称进行变形,赋以无意义、不规律的名称。效果如下:

保护前:

配置:

保护后:

2、全局变量名混淆、全局函数名混淆

与上相信,区别在于之前是针对局部变量,此处可处理全局变量。效果如下:

保护前:

配置:

保护结果:

3、成员函数加密

可对JavaScript内置语法方法进行加密,如console.log()中的log函数。

效果如下:

保护前:

配置:

保护结果:

4、数值常量加密

将数值常量变为运算表达式,效果如下:

保护前:

配置:

保护后:

5、二进制表达式混淆

将二进制表达式变形为函数调用表达式,效果如下:

保护前:

配置:

保护结果:

6、布尔型数值加密

对true、false值进行加密,效果如下:

保护前:

配置:

保护后:

7、字符串Unicode化加密

效果如下:

保护前:

配置:

保护结果:

8、Eval加密

对特定的语句进行Eval加密,效果如下:

保护前:

配置:

保护结果:

9、平展控制流

将函数中代码平坦化,并打乱代码显示顺序,效果如下:

保护前:

配置:

保护结果:

10、收缩控制流

将函数中符合条件的多行代码收缩为单行,形成逗号运算符语法,效果如下:

保护前:

配置:

保护后:

11、字符串阵列化

将代码中包含的字字符串集中放置到数组,效果如下:

保护前:

配置:

保护结果:

12、阵列字符串加密

字符串阵列化后生效,将阵列中的字符串内容进行加密,效果如下:

保护前:

配置:

保护结果:

13、虚拟机执行保护

将某些代码转为虚拟机OP指令,在虚拟机中执行,效果如下:

保护前:

配置:

保护结果:

14、代码压缩

去除回车换行、空格,压缩代码体积。效果如下:

压缩前:

压缩后:

15、反格式化

需要与代码压缩同时使用,如以下保护后的代码:

如果此代码被美化、格式化,将无法运行:

16、保留注释

默认保护后,会清除掉代码中所有注释语句,如需保留注释,则使用此项。

17、保留关键字

对指定名称的字符串、函数名、变量名不进行保护,效果如下:

保护前:

如不使用保留字功能,勾选以下选项:

保护结果:

如果选择保留关键字,并填入“abc”:

则保护结果成为:

注:保留字最多可设置255个。