了解JavaScript 加密、混淆和生成签名

        分析并理解网站的 JavaScript 加密、混淆和生成签名的方法是 JavaScript 逆向工程中的一个重要方面。这些技术通常用于保护代码免遭未授权的访问和修改,或确保数据在传输过程中的安全性。

加密

  1. 目的:加密用于保护敏感数据,使得只有拥有正确密钥的用户才能解读数据。在 Web 应用中,加密用于保护传输中的数据,如密码和个人信息。

  2. 分析方法

    • 识别加密算法:查找网站代码中使用的加密函数,如 AES、RSA 或自定义算法。
    • 寻找密钥和加密过程:理解加密过程中使用的密钥和初始化向量(IV)。密钥可能硬编码在代码中,或通过某种方式动态生成。
    • 测试和验证:尝试使用相同的算法和密钥解密数据,以验证理解的正确性。
  3. 常用工具:加密库(如 CryptoJS),在线加密/解密工具。

混淆

  1. 目的:混淆是通过改变变量名、函数名和代码结构使代码难以阅读和理解。它用于保护代码免遭逆向工程。

  2. 分析方法

    • 代码格式化:使用代码格式化工具将混淆的代码转换为更可读的格式。
    • 识别模式:关注重复的模式和结构,以识别原始代码的逻辑。
    • 映射变量和函数:尝试将混淆的变量和函数映射回其原始意图。
  3. 常用工具:JavaScript美化器(如 JS Beautifier),开发者控制台。

生成签名

  1. 目的:签名用于验证数据的完整性和来源。在 Web 应用中,签名确保数据未被篡改,并且来自合法源。

  2. 分析方法

    • 识别签名机制:寻找负责生成签名的代码部分,理解使用的哈希函数(如 SHA-256)或数字签名算法。
    • 寻找密钥和盐值:如果使用密钥或盐值,确定这些值的来源和使用方式。
    • 模拟签名过程:尝试使用相同的方法生成签名,以验证对算法的理解。
  3. 常用工具:哈希函数库,网络请求分析工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619960.shtml

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

相关文章

【java八股文】之MYSQL基础篇

1、数据库三大范式是什么 第一范式:每个列都不可以再拆分。 第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。 第三范式:在第二范式的基础上,非主键列只依赖于主键&#…

AtCoder ABC194

这期比193稍微简单一点 C - Squared Error 手玩一下: N 3 N3 N3时 展开得 a 2 b 2 − 2 a b b 2 − c 2 − 2 b c a 2 c 2 − 2 a c a^2b^2-2abb^2-c^2-2bca^2c^2-2ac a2b2−2abb2−c2−2bca2c2−2ac 每个数平方项都要计算 n − 1 n-1 n−1次 减的那一份可…

LeetCode1124. Longest Well-Performing Interval

文章目录 一、题目二、题解 一、题目 We are given hours, a list of the number of hours worked per day for a given employee. A day is considered to be a tiring day if and only if the number of hours worked is (strictly) greater than 8. A well-performing in…

C语言--结构体详解

C语言--结构体详解 1.结构体产生原因2.结构体声明2.1 结构体的声明2.2 结构体的初始化2.3结构体自引用 3.结构体内存对齐3.1 对齐规则3.2 为什么存在内存对齐3.3 修改默认对⻬数 4. 结构体传参 1.结构体产生原因 C语言将数据类型分为了两种,一种是内置类型&#xf…

蓝桥杯单片机组备赛——数码管动态显示

✨文章内容会不断优化,如果你感兴趣的话,欢迎点藏收藏关注我哟 🧨如果文章有哪里看不懂的欢迎评论区或私信留言,我会及时回复的 ⏰如果文章出现错误,欢迎指正,看到后我会马上改正 文章目录 一、动态显示原理…

Pandas实战100例 | 案例 29: 时间序列分析 - 滚动窗口计算

案例 29: 时间序列分析 - 滚动窗口计算 知识点讲解 时间序列数据分析是数据科学中的一个重要领域。Pandas 提供了处理时间序列的强大功能,包括滚动窗口计算。滚动窗口计算可以用于平滑时间序列数据,识别趋势和模式。 滚动窗口计算: 使用 rolling 方法…

oracle 19c容器数据库data dump数据泵传输数据(3)---完全传输

目录 查看pdb1 创建pdb2 从pdb1 中导出元数据 在pdb2中导入元数据(dmp文件) Full Transportable Export/Import: Example 只传输除了system,sysaux,temp,undo以外的用户表空间,這種方式傳輸的是用戶自定…

一文学会服务网格与istio使用

服务网格 现代应用程序通常被设计成微服务的分布式集合,每个服务执行一些离散的业务功能。服务网格是专门的基础设施层,包含了组成这类体系结构的微服务网络。 服务网格不仅描述了这个网络,而且还描述了分布式应用程序组件之间的交互。所有在…

如何生成文本: 通过 Transformers 用不同的解码方法生成文本

如何生成文本: 通过 Transformers 用不同的解码方法生成文本 假设 $p0.92$,Top-p 采样对单词概率进行降序排列并累加,然后选择概率和首次超过 $p92%$ 的单词集作为采样池,定义为 $V_{\text{top-p}}$。在 $t1$ 时 $V_{\text{top-p}}$ 有 9 个…

运用AI搭建中间服务层(五)

其他文件的修改 ValuesControllers.cs 注意Post的参数从[FromBody]变成了[FromForm],以便接收上传的图片流数据 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using CognitiveMi…

Halcon滤波器sobel_amp算子

Halcon滤波器sobel_amp算子 Halcon 提供了大量的边缘滤波器,最常用的是Sobel滤波器。它是一种经典的边缘检测算子,速度和效率都非常令人满意。其在Halcon中对应的算子为sobel amp算子和sobel_dir算子,二者都是使用Sobel算子进行边缘检测。前…

【LangChain学习之旅】—(8) 输出解析:用OutputParser生成鲜花推荐列表

【LangChain学习之旅】—(8) 输出解析:用OutputParser生成鲜花推荐列表 LangChain 中的输出解析器Pydantic(JSON)解析器实战第一步:创建模型实例第二步:定义输出数据的格式第三步:创…

运算电路(1)——加法器

一、引言 微处理器是由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片…

VB6,VBA保存ADO记录集并重新加载更新adPersistADTG

便携式计算(例如,使用笔记本电脑)催生了对可以同时在连接和断开状态下运行的应用程序的需求。 ADO 增加了这方面的支持,使开发人员能够将客户端游标 Recordset 保存到磁盘并稍后重新加载。 有多种场景可以使用这种类型的功能&…

Redis面试题13

Redis 的发布订阅(Pub/Sub)模式是什么? Redis 的发布订阅模式允许多个客户端订阅一个频道,当消息被发布到该频道时,所有订阅该频道的客户端都会收到该消息。Redis 的发布订阅模式分为两个角色:发布者和订阅…

K8S Nginx Ingress Controller client_max_body_size 上传文件大小限制

现象 k8s集群中,上传图片时,大于1M就会报错 413 Request Entity Too Large Nginx Ingress Controller 的版本是 0.29.0 解决方案 1. 修改configmap kubectl edit configmap nginx-configuration -n ingress-nginx在 ConfigMap 的 data 字段中设置参数…

Zabbix监控系统及部署

目录 前言 一个完整的项目 业务架构 运维架构 优秀监控软件的好处 1.zabbix概述 zabbix是什么 zabbix监控原理 Zabbix6.0新特性 1.Zabbix server高可用防止硬件故障或计划维护期的停机 2.Zabbix6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个…

JS中的File(一):Blob对象详解

一、定义 Blob是一个装着二进制数据的容器对象。Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 ReadableStream 来用于数据操作。 二、属性 size:只读属性,Blob中的字节数type&…

前端工程化相关

工具方法: 知道软件包名,拿到源码或者路径的方法 在浏览器输入以下内容,就可以找到你想要的。。。 unpkg.com/输入包名 一、模块化 ESM特性清单: 自动采取严格模式,忽略“use strict”每个ESM模块都是单独的私有作用…

nSum的java解法

两数之和 1. 两数之和 - 力扣(LeetCode) 可以使用哈希表的方法来解决 如果哈希表中不存在 target - a 这个元素,将这个元素值座位 key,下标作为 value 加入到哈希表中如果存在,返回两个元素的下标即可如果遍历到数组…