当前位置: 首页 > article >正文

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


http://www.kler.cn/a/147108.html

相关文章:

  • 基于Java Springboot编程语言在线学习平台
  • WebRTC视频 02 - 视频采集类 VideoCaptureModule
  • SQL注入注入方式(大纲)
  • RabbitMQ的工作队列在Spring Boot中实现(详解常⽤的⼯作模式)
  • MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)
  • JavaScript中如何使用Promise处理异步操作?
  • C++之常用的拷贝和替换算法
  • 蓝桥杯day01——根据给定数字划分数组
  • 第二节HarmonyOS DevEco Studio创建项目以及界面认识
  • Android系统源码中,在手上没有源码的情况下,需要将编译好的二进制可执行文件放入系统中
  • Python基于机器学习模型LightGBM进行水电站流量入库预测项目源码+数据集+模型,含项目报告
  • 开源与闭源:数字时代大模型之辩
  • ArcGis如何用点连线?
  • 持续集成部署-k8s-高级调度-CronJob:定时任务的应用
  • linux的netstat命令和ss命令
  • 【Mysql】【DB】【sql】提高数据库搜索性能的经验
  • Nginx Openresty通过Lua+Redis 实现动态封禁IP
  • 好用的基于layui的免费开源后台模版layuimini
  • Windows系统下更新后自带的画图软件出现马赛克bug
  • Linux:通过VMWare,定制化Linux系统
  • 6.2 Windows驱动开发:内核枚举SSSDT表基址
  • 功率整流器的作用是什么?SURS8340T3G车规级功率整流器的介绍
  • 封装进度条onUploadProgress+axios取消请求的上传组件
  • sqli-labs靶场详解(less17-less22)
  • LabVIEWL实现鸟巢等大型结构健康监测
  • Django QuerySet.order_by SQL注入漏洞(CVE-2021-35042)