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

网络爬虫js逆向之异步栈跟栈案例

 【注意!!!】

前言:

        1. 本章主要讲解js逆向之异步栈跟栈的知识(通过单步执行调试)

        2. 使用关键字搜定位加密入口

        3. 本专栏通过多篇文章【文字+案例】的形式系统化进行描述

        4. 本文章全文进行了脱敏处理

        5. 详细代码不进行展示,需要则私聊作者

爬虫js逆向专栏:https://blog.csdn.net/2201_75422674/category_12875823.html

爬虫专栏:https://blog.csdn.net/2201_75422674/category_12686609.html

        - 大家喜欢可以订阅一下,不收费用的

目录

【1】抓包分析

【2】入口定位

【3】逆向

【4】结果演示


【1】抓包分析

抓包发现当发送请求时,在headers中需要携带图中的3个参数,否则会导致抓包失败

【2】入口定位

这里使用关键字搜索的位置来进行加密位置的定位

【3】逆向

1. 当对上述xr.getTokenAndSign进行断点,并悬浮进入该函数时,发现执行了以下代码:

 return function(t) {return e.apply(this, arguments)}

 2. 这时,我们应该对return进行断点,悬浮进行e函数,查看相关的加密逻辑

 3. 悬浮进入该e函数后,可见到真正的加密逻辑,token为l,signature和timestamp为s(l)加密后的结果。

 4. 打开node++查看c、u、s函数

 4.1 首先可以看到函数 c 接收一个字符串作为输入,计算其 SHA-256 哈希值,利用当前时间生成一个 32 字符长的字符串,并通过特定索引从哈希值中选择字符,最终将该字符串转换为 HMAC 密钥,并返回该密钥及其生成的时间戳。

4.2 函数 u 根据请求方法处理 URL,去掉查询字符串中的问号,并在 POST 或 PUT 请求的情况下,将请求体中的 FormData 转换为特定格式的字符串,或者简单地将请求体附加到 URL,以生成最终的请求字符串。

 4.3 函数 s 接收一个输入参数,首先调用函数 c 生成 HMAC 密钥和时间戳,然后利用该密钥对由函数 u 生成的字符串进行 HMAC 签名,最后将签名结果编码为 Base64 格式,并返回包含签名和时间戳的对象。

 总结,在使用s(l)进行加密时,通过e.apply来调用c或者u函数。

【4】结果演示

由上所见,3个加密参数已经成功获取。创作不易,请点个赞,谢谢~ 

相关文章:

网络爬虫js逆向之异步栈跟栈案例

【注意!!!】 前言: 1. 本章主要讲解js逆向之异步栈跟栈的知识(通过单步执行调试) 2. 使用关键字搜定位加密入口 3. 本专栏通过多篇文章【文字案例】的形式系统化进行描述 4. 本文章全文进行了脱敏处理 5. 详…...

使用Ollama本地部署deepseek

1、下载安装Ollama 前往下载页面 https://ollama.com/download下载好安装包,如同安装软件一样,直接安装即可 win中默认为C盘,如果需要修改到其他盘,查找具体教程 运行list命令,检查是否安装成功 2、修改模型下载的…...

Rust错误处理:从灭火器到核按钮的生存指南

开篇:错误处理的生存哲学 在Rust的平行宇宙里,错误分为两种人格: panic! → 核按钮💣(不可恢复,全系统警报)Result → 灭火器🧯(可控制,局部处理&#xff0…...

Golang:Go 1.23 版本新特性介绍

流行的编程语言Go已经发布了1.23版本,带来了许多改进、优化和新特性。在Go 1.22发布六个月后,这次更新增强了工具链、运行时和库,同时保持了向后兼容性。 Go 1.23 的新增特性主要包括语言特性、工具链改进、标准库更新等方面,以下…...

电脑运行黑屏是什么原因?原因及解决方法

电脑运行黑屏是指电脑在正常开机或使用过程中,突然出现屏幕变黑,无法显示任何内容的现象。这种现象可能会给用户带来很多不便,甚至造成数据丢失或硬件损坏。那么,电脑运行黑屏是什么原因呢?下面我们将分析几种可能的原…...

redis之AOF持久化过程

流程图 在redis.conf文件中配置appendonly为yes则开启aof持久化机制 #开启aof持久化,默认关闭为no appendonly no也可以在命令行开启 aof刷盘策略 #每个写操作都会同步刷盘。 appendfsync always #执行命令后先放入aof缓冲区,每秒钟将缓冲区数据刷盘…...

Elasticsearch:向量搜索的快速介绍

作者:来自 Elastic Valentin Crettaz 本文是三篇系列文章中的第一篇,将深入探讨向量搜索(也称为语义搜索)的复杂性,以及它在 Elasticsearch 中的实现方式。 本文是三篇系列文章中的第一篇,将深入探讨向量搜…...

Docker在安装时遇到的问题(第一部分)

一、在用docker-config-manager安装yum源时出现错误 [rootlocalhost ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 已加载插件:fastestmirror, langpacks adding repo from: https://download.docker.com/linux/ce…...

使用 OpenGL ES 在 iOS 上渲染一个四边形:从基础到实现

使用 OpenGL ES 在 iOS 上渲染一个四边形:从基础到实现 在 iOS 开发中,OpenGL ES 是一个强大的工具,用于实现高性能的 2D 和 3D 图形渲染。本文将详细分析一段完整的代码,展示如何使用 OpenGL ES 在 iOS 上渲染一个简单的四边形。我们将从代码的结构、关键模块、着色器的实…...

Spring Boot 2 快速教程:WebFlux处理流程(五)

WebFlux请求处理流程 下面是spring mvc的请求处理流程 具体步骤: 第一步:发起请求到前端控制器(DispatcherServlet) 第二步:前端控制器请求HandlerMapping查找 Handler (可以根据xml配置、注解进行查找) 匹配条件包括…...

Vue 鼠标事件合集,关于鼠标右键的处理方法(改写鼠标右键方法、自定义鼠标右键)

鼠标事件使用 mousedown"canvasDown($event)"按下事件合集 click 点击某个对象时触发 mousedown 鼠标按钮被按下时触发 mouseup 鼠标按钮被松开时触发 mouseleave 当鼠标指针移出元素时触发 dblclick 双击时触发 mousemove 鼠标移动时触发&#xff0c…...

两种交换排序算法--冒泡,快速

目录 1.冒泡排序原理 2.快速排序原理 3.冒泡代码实现 4.快速排序代码实现 1.冒泡排序原理 冒泡排序(Bubble Sort)是一种简单的排序算法,基本思想是通过反复交换相邻的元素,直到整个序列有序。它的名字来源于较大的元素像气泡…...

语音交友app系统源码功能及技术研发流程剖析

语音交友App的核心功能包括语音聊天、语音房间、社交互动等,开发流程涵盖需求分析、技术选型、前后端开发、实时通信集成、测试优化、部署上线及运营维护。 一、语音交友App的大概功能 1. 语音聊天 一对一聊天:用户可与好友进行私密语音通话。 群组语音…...

零基础Vue入门7——状态管理Pinia

本节重点: pinia是什么pinia怎么用 pinia是什么 vue中组件间的数据传递: app.config.globalProperties:能够被应用内所有组件实例访问到的全局属性的对象props:父传子用provide:父传后代用 想象下有咩有哪些数据存储…...

Bash (Bourne-Again Shell)、Zsh (Z Shell)

文章目录 1. 历史背景2. 主要区别3. 功能对比自动补全插件和主题路径扩展提示符定制 4. 性能5. 使用场景6. 如何切换 Shell7. 总结 以下是 Bash 和 Zsh 之间的主要区别,列成表格方便对比: 特性BashZsh默认Shell大多数Linux发行版默认ShellmacOS默认She…...

Android studio 创建aar包给Unity使用

1、aar 是什么? 和 Jar有什么区别 aar 和 jar包 都是压缩包,可以使用压缩软件打开 jar包 用于封装 Java 类及其相关资源 aar 文件是专门为 Android 平台设计的 ,可以包含Android的专有内容,比如AndroidManifest.xml 文件 &#…...

DeepSeek R1 简单指南:架构、训练、本地部署和硬件要求

DeepSeek 的 LLM 推理新方法 DeepSeek 推出了一种创新方法,通过强化学习 (RL) 来提高大型语言模型 (LLM) 的推理能力,其最新论文 DeepSeek-R1 对此进行了详细介绍。这项研究代表了我们如何通过纯强化学习来增强 LLM 解决复杂问题的能力,而无…...

图论常见算法

图论常见算法 算法prim算法Dijkstra算法 用途最小生成树(MST):最短路径:拓扑排序:关键路径: 算法用途适用条件时间复杂度Kruskal最小生成树无向图(稀疏图)O(E log E)Prim最小生成树无…...

MySQL三大日志详解

在MySQL数据库的运行过程中,三大关键日志——binlog、redo log和undo log,起着至关重要的作用。理解这三大日志,对于深入掌握MySQL的工作原理、数据恢复以及主从复制等操作有着极大的帮助。本文将详细剖析这三大日志的作用和工作机制。 Binl…...

【SQL 中的分组查询与联合查询详解】

文章目录 SQL 中的分组查询与联合查询详解 1. GROUP BY分组查询 1.1 语句格式1.2 示例说明 1.2.1 分别查询哥哥组和弟弟组的英语成绩总和1.2.2 查询哥哥组的所有成绩总和 2. 联合查询 2.1 内连接 2.1.1 语法格式2.1.2 执行过程 2.2 外连接 2.2.1 左外连接2.2.2 右外连接 2.3 …...

AI智能体诊断工具openclaw-agent-doctor:原理、应用与实战指南

1. 项目概述:当AI智能体化身“代码医生”最近在开源社区里,一个名为openclaw-agent-doctor的项目引起了我的注意。这个名字本身就很有意思——“OpenClaw” 智能体医生。它不是一个传统的代码库,而是一个专门为AI智能体(Agent&…...

终极指南:如何用GetQzonehistory完整备份你的QQ空间历史记录

终极指南:如何用GetQzonehistory完整备份你的QQ空间历史记录 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里的青春记忆会随着时间流逝而消失&#xff…...

嵌入式UI开发提速秘籍:用GUI Guider+NXP工具链为LVGL 8.3.2快速设计界面并集成到Keil工程

嵌入式UI开发效率革命:GUI Guider与Keil工程的无缝整合实战 在嵌入式系统开发中,用户界面(UI)的设计与实现往往是最耗时的环节之一。传统的手写代码方式不仅效率低下,而且难以快速迭代和调整。本文将介绍如何利用NXP的GUI Guider工具与Keil开…...

CRM系统哪家好?十大热门crm产品实测

2026年企业数字化转型已进入深水区,CRM早已从单一的销售跟单工具,进化为贯穿获客、销售、供应链、生产、服务全链路的核心业务载体。面对海内外五花八门的CRM产品,不少企业选型时容易陷入“追大牌”“功能越多越好”的误区,最终出…...

038、LVGL动画路径与缓动函数

LVGL动画路径与缓动函数:从一次UI卡顿调试说起 上周调试一个智能家居面板项目,客户反馈说“那个温度滑块动起来像生锈的齿轮”。我盯着逻辑分析仪看了半天,CPU占用率才12%,帧率稳定在60fps——问题出在动画路径上。默认的线性缓动让滑块在起点和终点突然启停,人眼对这种“…...

Zotero文献去重终极指南:3步快速清理重复文献库的完整教程

Zotero文献去重终极指南:3步快速清理重复文献库的完整教程 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 在学术研究过程中&#…...

2026年程序员AI工具链完整配置指南:从开发到部署全流程

你的开发环境还在用2023年的工具?醒醒,AI工具链已经迭代了三代了。## 前言作为一个从 Cursor 0.x 版本就开始跟的早期用户,我亲眼见证了AI编程工具从"玩具"变成"生产力核武器"的过程。2026年5月的今天,整个AI…...

Claude Code 模型特定调优与 A/B 测试全解析:Feature Flag、灰度发布、Undercover、安全门控、Prompt 调优与 AI Agent 工程化实战

一、先说结论:AI Agent 真正难的不是“会调用模型”,而是“能持续驾驭模型”很多人做 AI 编码助手、企业智能体、研发提效工具时,第一反应是接入一个更强的大模型:换成更大的参数、更新的版本、更长的上下文,似乎问题就…...

Midscene.js 2025技术演进:从自动化工具到智能操作平台的架构升级

Midscene.js 2025技术演进:从自动化工具到智能操作平台的架构升级 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 在人工智能技术快速发展的今天&…...

如何批量调整图片大小?跨境电商卖家必备效率工具(附实操教程)

一、前言:你可能低估了“图片处理”的成本 如果你在做电商(尤其是跨境、多平台),一定经历过这种情况: 同一款商品,不同平台尺寸要求完全不同一次上新几十个 SKU,每个商品多张图用 PS 一张张改…...