首页 > 编程语言 >哪个JavaScript混淆工具更好用?测评葡萄牙的JScrambler和中国的JShaman

哪个JavaScript混淆工具更好用?测评葡萄牙的JScrambler和中国的JShaman

时间:2023-09-24 10:23:08浏览次数:34  
标签:混淆 JShaman 代码 JavaScript JScrambler 工具

两款顶级JavaScript混淆工具测评:JScrambler和JShaman

出于JavaScript代码安全需求,JavaScript混淆已经被广泛使用。在这个领域中,有免费的小工具,也有专业、商业级的产品。

商业产品在功能强度、保护效果、稳定性等各方面都是全优于免费小工具的。

本文将对两款专业、商业JavaScript混淆工具进行多角度测评。

这两款工具分别是葡萄牙的JScrambler和中国的JShaman,在行业中都是知名产品、是业内顶级的JavaScript混淆工具。

注:JShaman有中文和英文两个不同版本,本次测评使用的是英文版。

产品形态

两者都是网站平台形式,在浏览器中打开就能使用。

接口

都有Web API接口,JavaScript、Python、Java、c#等语言都可以调用,可以集成在自己的产品中使用。

操作便捷性

JScrambler使用较复杂,需要注册帐户、登录进入后台才能使用,JShaman则方便很多,无需注册、直接使用。

免费试用

两个产品都提供有限制的免费试用,JScrambler混淆后的代码有使用时间限制,JShaman是对试用JavaScript代码体积有限制。

功能选项

JScrambler和JShaman都有20多项混淆功能可使用,如:数值加密、平展控制流、JSON加密、变量名混淆、正则表达式加密、字符串加密等等。也就意味着,两者对代码的保护强度应该接近,因为混淆选项数量接近。

对于各功能的说明,JShaman是采用例程的方式展示,而JScrambler是文字说明。对于不熟悉混淆技术的使用者而言,JShaman的例程方式更直观,可以让使用者知道各功能启用后对代码的保护效果。而JScrambler的文字介绍则较抽象。

JScrambler的某些选项可进行高级配置,比变量名混淆可设定具体的变量名特征,而JShaman未提供这种精细化选项。

混淆效果

如前面所述,两者很多功能选项相似,但也有差别,而且相同功能各自的算法想必也是不同的。所以,相同的JavaScript代码混淆到的结果自然是不同,各有各的结果。混淆后的代码看起来都足够复杂,都可以进行复制和下载。

报表

报表功能用于展示混淆时进行了哪些操作,可让操作者清楚混淆操作对代码进行了哪些方面的加强和保护。

JShaman的报表简洁明了,在混淆完成后会立即显示。JScrambler的报表是从历史操作记录中查看,显示的内容更详细。

两者都会显示进行各项混淆时操作了多少节点(注:混淆时都是将JavaScript转化为AST抽象语法树,对语法树进行修改,所以此处会显示修改的AST节点数量)。

JScrambler会显示各项操作使代码增大了多少,而JShaman会显示混淆前代码整体有多少个节点,混淆后又变成了多少节点,方式有差别,所表达的含义相同。

总结

两者功能相似、混淆效果接近,都是强大、专业的JavaScript混淆工具。

直观差别主要在UI、操作、报表三方面。

JScrambler精细且复杂、商业味道更浓厚。

JShaman界面优美、操作简洁、方便易用。

 

标签:混淆,JShaman,代码,JavaScript,JScrambler,工具
From: https://www.cnblogs.com/jsjiami/p/17725661.html

相关文章

  • JavaScript-实例对象与 new 命令
    对象是什么 面向对象编程(ObjectOrientedProgramming,缩写为OOP)是目前主流的编程范式。它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作,完成对真实世界的模拟。每一个对象都是功能中心,具有明确分工,可以完成接受信息、处理数据、发出信息等任务。对象可以......
  • 9.23JavaScript2
    书写语法:(基本和java没区别)区分大小写:与Java一样,变量名、函数名以及其他一切东西都是区分大小写的每行结尾的分号可有可无(建议写,规范)注释:单行注释://注释内容多行注释:/*注释内容*/大括号表示代码块......
  • 无涯教程-JavaScript - PEARSON函数
    描述PEARSON函数返回Pearson乘积矩相关系数r,它是一个无因次索引,范围为-1.0到1.0(含),反映了两个数据集之间线性关系的程度。语法PEARSON(array1,array2)争论Argument描述Required/OptionalArray1Asetofindependentvalues.RequiredArray2Asetofdependent......
  • 无涯教程-JavaScript - NORM.S.DIST函数
    描述NORM.S.DIST函数返回标准正态分布(平均值为零,标准偏差为1)。使用此功能代替标准法线区域的表格。语法NORM.S.DIST(z,cumulative)争论Argument描述Required/OptionalZThevalueforwhichyouwantthedistribution.RequiredCumulative累积值是确定函数形式......
  • 无涯教程-JavaScript - NORM.S.INV函数
    描述NORMS.S.INV函数返回标准正态累积分布的反函数。该分布的平均值为零,标准偏差为1。语法NORM.S.INV(probability)争论Argument描述Required/OptionalProbabilityAprobabilitycorrespondingtothenormaldistribution.RequiredNotes如果概率为非数值,则NOR......
  • JavaScript实现排序算法
    目录前言排序算法冒泡排序选择排序插入排序归并排序快速排序计数排序基数排序桶排序前言排序算法是《数据结构与算法》中最基本的算法之一,本篇使用JavaScript语言实现各种常见排序算法。排序算法冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻......
  • 无涯教程-JavaScript - NEGBINOM.DIST函数
    描述NEGBINOM.DIST函数返回负二项式分布,即在第Number_s次成功之前出现Number_f次失败的概率,并具有Probability_s成功的概率。该函数与二项式分布相似,不同之处在于成功次数是固定的,而试验次数是可变的。像二项式一样,假定审判是独立的。语法NEGBINOM.DIST(number_f,numb......
  • 无涯教程-JavaScript - NORM.INV函数
    描述NORM.INV函数返回指定平均值和标准差的正态累积分布的倒数。语法NORM.INV(probability,mean,standard_dev)争论Argument描述Required/OptionalProbabilityAprobabilitycorrespondingtothenormaldistribution.RequiredMeanThearithmeticmeanofthedi......
  • 非常有用的JavaScript高阶面试技巧
    ......
  • 无涯教程-JavaScript - MEDIAN函数
    描述MEDIAN函数返回给定数字的中位数。中位数是一组数字中间的数字。语法MEDIAN(number1,[number2]...)争论Argument描述Required/OptionalNumber11to255numbersforwhichyouwantthemedian.requirednumber2,...OptionalNotesMEDIAN函数测量集中趋势,......