javascript|专业的JS混淆加密:JShaman( 二 )


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

配置:

保护后:

  1. 全局变量名混淆、全局函数名混淆
上相信 , 区别在于之前是针对局部变量 , 此处可处理全局变量 。 效果如下:
保护前:

配置:

保护结果:

  1. 成员函数加密
可对JavaScript内置语法方法进行加密 , 如console.log()中的log函数 。
效果如下:
保护前:

配置:

保护结果:

  1. 数值常量加密
将数值常量变为运算表达式 , 效果如下:
保护前:

配置:

保护后:

  1. 二进制表达式混淆
将二进制表达式变形为函数调用表达式 , 效果如下:
保护前:

配置:

保护结果:

  1. 布尔型数值加密
对true、false值进行加密 , 效果如下:
保护前:

配置:

保护后:

  1. 字符串Unicode化加密
效果如下:
保护前:

配置:

保护结果:

  1. Eval加密
对特定的语句进行Eval加密 , 效果如下:
保护前:

配置:

保护结果:

  1. 平展控制流
将函数中代码平坦化 , 并打乱代码显示顺序 , 效果如下:
保护前:

配置:

保护结果:

  1. 收缩控制流
将函数中符合条件的多行代码收缩为单行 , 形成逗号运算符语法 , 效果如下:
保护前:

配置:

保护后:

  1. 字符串阵列化
将代码中包含的字字符串集中放置到数组 , 效果如下:
保护前:

配置:

【javascript|专业的JS混淆加密:JShaman】保护结果:

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

配置:

保护结果:

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

配置:

保护结果:

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

压缩后:

  1. 反格式化
需要与代码压缩同时使用如以下保护后的代码:

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

  1. 保留注释
默认保护后 , 会清除掉代码中所有注释语句 , 如需保留注释 , 则使用此项 。
  1. 保留关键字
对指定名称的字符串、函数名、变量名进行保护 , 效果如下:
保护前:

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

保护结果:

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

则保护结果成为

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