相同JS代码,多次混淆加密能得到不同的结果吗?

一份相同的JavaScript代码,进行多次混淆加密,能得到不同的结果吗?

答案是肯定的,能。

JShaman可以实现这个效果。即:加密结果具有多态性、变化性。

下面实测展示。

来到JShaman网站,用它默认的示例代码做测试,如下图所示。

配置也使用默认的,如下图所示。

然后进行混淆加密。第一次得到的加密代码如下图。

打开浏览器的开发者工具,在控制台中,将上面的代码用alert的方式显示其代码长度。

代码:alert(`加密后的JS代码`.length + " bytes");

显示如下图,代码长度显示为2898字节。

再混淆一次,又一次得新结果,这次是2817字节,如下图:

再试,又得到3000字节,如下图:

由此可见,同一段JavaScript代码用JShaman混淆加密,会得到不同的新JavaScript加密代码。

这种不同结果的意义是什么呢?

它体现了JavaScript混淆加密的保护强度,多态的结果表明混淆过程中使用了不同的加密算法,所以才生成了不同的加密代码。

前端用JavaScript实现桑基图(Sankey图)_w2sfot的博客-CSDN博客文章浏览阅读131次。桑基图效果说明:从图中,可以看到JShaman对JS代码的混淆加密流程:初始的JS代码,先转为AST(抽象语法树),再进行String reverse、Dead Code Insertion、Eval Encryption等数十种混淆加密操作,生成了新的AST,最后再根据AST重新生成JS代码,这便是JS代码混淆加密的完整流程,由图可以让人一目了然的知晓全过程。因为已有成熟的库可用,比如,可以使用d3引擎,所以sankey的实现较为简单。用d3实现桑基图绘制,核心代码如下,文末会提供完整代码。https://blog.csdn.net/w2sft/article/details/132962582?spm=1001.2014.3001.5501JavaScript混淆工具大比拼:JScrambler和JShaman哪个更胜一筹?-CSDN博客文章浏览阅读179次。两款顶级JavaScript混淆工具测评:JScrambler和JShaman_jshamanhttps://blog.csdn.net/w2sft/article/details/133232906?spm=1001.2014.3001.5501Node.js用163信箱帐号密码发邮件_node发送邮箱-CSDN博客文章浏览阅读302次。Node.js用163信箱帐号密码发邮件_node发送邮箱https://blog.csdn.net/w2sft/article/details/130762148?spm=1001.2014.3001.5501小程序过审失败,怎么解决?_小程序审核不通过_w2sfot的博客-CSDN博客文章浏览阅读220次。除了以上方法外,可以考虑混淆加密 JavaScript 代码来增强代码的安全性和保护知识产权,从而避免可能的侵权问题。3、再次提交审核:在完成代码修复后,重新进行代码打包,然后提交审核。1、审核不通过原因:在审核失败的通知中会注明不通过的具体原因和相关文件路径。2、修改代码:根据不通过的原因进行相应的修改,例如修复代码 Bug、移除异常功能或修改可能侵权代码等。3、检查混淆后的代码是否能够正常运行,并进行必要的调整。4、将混淆后的代码重新提交给小程序官方进行审核。小程序过审失败,怎么解决?_小程序审核不通过https://blog.csdn.net/w2sft/article/details/130349667?spm=1001.2014.3001.5501JavaScript黑科技:隐秘执行-CSDN博客文章浏览阅读341次。如果能使网页中的JavaScript代码隐密的加载、隐密的执行,那对于保护JavaScript代码来说是很有利的。https://blog.csdn.net/w2sft/article/details/130145982?spm=1001.2014.3001.5501JavaScript奇技淫巧:debugger拦截_w2sfot的博客-CSDN博客文章浏览阅读492次。JavaScript奇技淫巧:debugger拦截https://blog.csdn.net/w2sft/article/details/130380336?spm=1001.2014.3001.5501JS实时检测变量的值是否变化_js监控数据变化_w2sfot的博客-CSDN博客文章浏览阅读1.3k次。这段代码中,使用了对象,defineProperties方法可以设置或修改对像的属性,对像的get、set分别是取值、赋值方法。于是便可以优雅的监视变量值。实时监视一个变量的值,当值发生改变时,马上给出提示。虽然确实可以实现,但笨拙且低效果。_js监控数据变化https://blog.csdn.net/w2sft/article/details/130132437?spm=1001.2014.3001.5501

相关推荐
dr李四维8 分钟前
iOS构建版本以及Hbuilder打iOS的ipa包全流程
前端·笔记·ios·产品运营·产品经理·xcode
I_Am_Me_22 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
雯0609~29 分钟前
网页F12:缓存的使用(设值、取值、删除)
前端·缓存
℘团子এ32 分钟前
vue3中如何上传文件到腾讯云的桶(cosbrowser)
前端·javascript·腾讯云
学习前端的小z38 分钟前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
前端百草阁1 小时前
【TS简单上手,快速入门教程】————适合零基础
javascript·typescript
彭世瑜1 小时前
ts: TypeScript跳过检查/忽略类型检查
前端·javascript·typescript
FØund4041 小时前
antd form.setFieldsValue问题总结
前端·react.js·typescript·html
Backstroke fish1 小时前
Token刷新机制
前端·javascript·vue.js·typescript·vue
zwjapple1 小时前
typescript里面正则的使用
开发语言·javascript·正则表达式