相同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

相关推荐
come1123414 分钟前
Vue 响应式数据传递:ref、reactive 与 Provide/Inject 完全指南
前端·javascript·vue.js
前端风云志36 分钟前
TypeScript结构化类型初探
javascript
musk12121 小时前
electron 打包太大 试试 tauri , tauri 安装打包demo
前端·electron·tauri
翻滚吧键盘1 小时前
js代码09
开发语言·javascript·ecmascript
万少2 小时前
第五款 HarmonyOS 上架作品 奇趣故事匣 来了
前端·harmonyos·客户端
OpenGL2 小时前
Android targetSdkVersion升级至35(Android15)相关问题
前端
rzl022 小时前
java web5(黑马)
java·开发语言·前端
Amy.Wang2 小时前
前端如何实现电子签名
前端·javascript·html5
海天胜景2 小时前
vue3 el-table 行筛选 设置为单选
javascript·vue.js·elementui
今天又在摸鱼2 小时前
Vue3-组件化-Vue核心思想之一
前端·javascript·vue.js