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

news2024/12/22 23:32:13

一份相同的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.coloradmin.cn/o/1261279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络——数据链路层-数据链路层概述(介绍、三个重要问题、使用广播信道的数据链路层、其他问题)

目录 介绍 三个重要问题 封装成帧 差错检测 可靠传输 使用广播信道的数据链路层 其他问题 介绍 本篇对数据链路层进行概述,我们首先来看看数据链路层在网络体系结构中的地位: 主机H1给主机H2发送数据,中间要经过三个路由器和电话网、…

java选择排序和冒泡排序

1.区别 选择排序和冒泡排序的区别主要在于算法逻辑、稳定性和交换成本。 算法逻辑:选择排序和冒泡排序都属于比较排序,但在具体算法逻辑上有所不同。冒泡排序是通过相邻元素之间的比较和交换,将较大(或较小)的元素逐…

自动驾驶HWP功能规范

HWP功能规范 Highway Pilot Functional Specification 文件状态: 【√】草稿 【】正式发布 【】正在修改 文件起草分工 撰写: 审核: 编制: 签名: 日期: 审核: 签名: 日期&am…

Leetcode—739.每日温度【中等】

2023每日刷题&#xff08;四十二&#xff09; Leetcode—739.每日温度 单调栈实现思想 从右到左实现代码 class Solution { public:vector<int> dailyTemperatures(vector<int>& temperatures) {int n temperatures.size();stack<int> st;vector<i…

深度学习实战61-基于知识图谱与BiLSTM网络实现疾病相关智能问答系统,并支持数据扩展

大家好,我是微学AI,今天给大家介绍一下深度学习实战61-深度学习在医疗领域的应用:疾病相关智能问答系统,并支持数据扩展。本文将详细介绍如何使用Py2neo这个Python库来构建一个医疗领域知识图谱,并将数据导入Neo4j图数据库。我们将提供一些医疗领域的数据样例,并展示如何…

TIME_WAIT状态套接字重新使用

《TIME_WAIT相关知识》里边有相关理论知识。 《TIME_WAIT状态TCP连接导致套接字无法重用实验》有相关实验。 现代Linux的TCP协议栈已经做了许多升级&#xff0c;所以可以让我们直接重用TIME_WAIT状态套接字而不会引起问题。下边是优化的内容&#xff1a; 1.新连接的SYN告知序列…

原生代码布局

背景&#xff1a; 原生开发移动端&#xff0c;每一个页面的组成部分是哪些呢&#xff1f;在一个项目文件里&#xff0c;每一个页面的组成部分又是哪些呢&#xff1f;参考链接&#xff1a;pages页面的组成 效果展示&#xff1a; 注意&#xff1a; 一、布局代码&#xff1a; <…

33 - MySQL调优之索引:索引的失效与优化

不知道你是否跟我有过同样的经历&#xff0c;那就是作为一个开发工程师&#xff0c;经常被 DBA 叫过去“批评”&#xff0c;而最常见的就是申请创建新的索引或发现慢 SQL 日志了。 记得之前有一次迭代一个业务模块的开发&#xff0c;涉及到了一个新的查询业务&#xff0c;需要…

数据库应用:Ubuntu 20.04 安装MongoDB

目录 一、理论 1.MongoDB 二、实验 1.Ubuntu 20.04 安装MongoDB 三、问题 1.Ubuntu Linux的apt 包管理器更新安装软件报错 2.Ubuntu20.04安装vim报错 3.Ubuntu20.04如何更换阿里源 4.Ubuntu22.04如何更换阿里源 一、理论 1.MongoDB &#xff08;1&#xff09;概念 …

帆软报表 channel 反序列化漏洞复现

0x01 产品简介 FineReport、FineBI 是帆软软件开发的企业级报表设计和数据分析工具与商业智能平台。 0x02 漏洞概述 帆软FineReport、FineBI 存在反序列化漏洞&#xff0c;攻击者可向 /webroot/decision/remote/design/channel 接口发送精心构造的反序列化数据&#xff0c;在目…

2023.11.27【读书笔记】|医疗科技创新流程(前言)

目录 注重价值关键要素如何解决价值问题&#xff1f;注重三个关键点价值探索价值预测价值定位 中国视角背景挑战战术 洞察过程发现需求发现需求筛选 发明概念产生概念选择 发挥战略发展商业计划 注重价值 在美国&#xff0c;医疗费用的增长率已经多年超过GDP增长率&#xff1b…

基于CW32F030单片机的便携式多功能测试笔

一、产品背景 在日常的硬件调试工作中&#xff0c;我们最常使用的仪器仪表可能就是万用表了&#xff0c;虽然万用表号称“万用”&#xff0c;但大部分时候&#xff0c;我们需要使用到的功能无非是电压测量和通断测量。 作为调试的“得力干将”&#xff0c;万用表有时候也会存…

SLURM超算集群资源管理服务的安装和配置-基于slurm22.05.9和centos9stream,配置slurmdbd作为账户信息存储服务

slurm介绍就不再赘述了&#xff0c;这里看官网链接&#xff0c;其他的自己搜索吧。 Slurm Workload Manager - Quick Start User Guide 这里主要将slurm集群配置的一般步骤&#xff0c;重点是slurmd的conf文件的配置&#xff1b;官网的内容比较全但不太好选择哪些是必须的&am…

10、静态数码管显示

数码管介绍 LED数码管:是一种简单、廉价的显示器&#xff0c;是由多个发光二极管封装在一起组成“8”字型的器件 数码管引脚的定义 共阴极、共阳极 例如&#xff1a;显示数字1&#xff08;b,c段&#xff09; 3、8&#xff1a;接VCC或者GND/低电平 10011111 0110000 共阴极、…

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Open Feign 源码解析(一) --- FactoryBean的妙用

什么是Open Feign? OpenFeign 是 Spring Cloud 全家桶的组件之一&#xff0c; 其核心的作用是为 Rest API 提供高效简洁的 RPC 调用方式 搭建测试项目 服务接口和实体 项目名称 cloud-feign-api 实体类 public class Order implements Serializable {private Long id;p…

Mysql——》int(1)和 int(10)区别

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

lv11 嵌入式开发 UART实验 11

目录 1 UART帧格式详解 1.1 UART简介 1.2 通信基础 - 并行和串行 1.3 通信基础 - 单工和双工 1.4 通信基础 - 波特率 1.5 UART帧格式 2 Exynos4412下的UART控制器 2.1 引脚功能设置 2.2 阅读芯片手册 3 UART寄存器详解 3.1 引脚寄存器 3.2 串口寄存器概览 3.3 ULC…

95.STL-遍历算法 for_each

算法概述: 算法主要是由头文件 <algorithm> <functional> <numeric> 组成。 <algorithm> 是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric> 体积很小&#xff0c;只包括几个在序列上面…

【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver

之前讲到基于python的自动化测试环境&#xff0c;需要安装Python,再安装Selenium。具体可看【如何学习Python自动化测试】—— 自动化测试环境搭建 但是&#xff0c;想要使用Selenium发送指令模拟人类行为操作浏览器&#xff0c;就需要安装浏览器驱动。不同的浏览器需要安…