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

相关推荐
笃行3507 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易8 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi9 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒12 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
系统集成-鹰翔12 小时前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端
用户27050777252413 小时前
MCP 最小 Server 实测:3 个 JSON-RPC 报错与修法
前端
用户4993350250713 小时前
一人VIP账号多人共用:Web 代理里的会话共享怎么实现
前端
用户老李13 小时前
无线电自学教程 05:第一台收音机——从矿石机到 SDR
前端
IPIPD13 小时前
Node.js请求遇到503怎么重试?先解析Retry-After,再做有上限退避
前端
葡萄城技术团队13 小时前
dsh-spreadjs-editor 的集成链路:把 SpreadJS Designer 嵌进 Agent 工作台
前端