01、爬虫js逆向之-七麦数据

news2024/11/15 15:32:10

目标网址:aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9pbmRleC9icmFuZC9hbGwvZGV2aWNlL2lwaG9uZS9jb3VudHJ5L2NuL2dlbnJlLzM2 (需要进行ba64解码即可获取到参数)

需要逆向的加密参数:analysis

1、点击数据接口,触发请求

 2、点击载荷,可以看到有一个名为analysis的签名,类似加密,经过作者验证,不同的数据接口,加密的结果不同

3、进行XHR断点,查看加密过程,复制查询路径,问号前面的就是查询路径 ,可以全复制包括域名和协议,也可以只复制查询路径(域名后面到问号的地方即可)

4、点击全部,触发请求,可以看到断点在send处停止

 5、点击跳过下一步函数调用按钮(标红的哪个地方),点击三次

 6、点击三次后,断点在then方法,then方法时axios响应拦截回调的方法

7、点击进入函数内部按钮(标红处) 

8、再次点击跳过函数调用按钮(点击两次),可以看到响应拦截器获取到了数据

 9、再次点击点击跳过函数调用按钮(点击两次),进入到响应响应拦截器内部

 10,由此可以推断,请求拦截器(发送请求前,进行拦截修改)就在上面,我们往上翻,可以看到请求拦截器在响应拦截器的上面,找到请求拦截器有什么用呢?

它主要是用来在请求发送前对请求体,或者请求参数进行加密、解密等操作,以保证请求的安全性和正确性。此外,请求拦截器还可以对请求头、请求体、请求尾部等部分进行处理,例如设置请求头、添加后端验证码等,以增强整个请求的安全性和可靠性。

11、由此我们可以断定,analysis参数就是在请求拦截器进行加密,我们给请求拦截器加上断点调试:

 12、点击小三角按钮(跳到下一个断点处)

 13、ctrl+R  全局刷新网页,进入断点,点击两次半圆按钮(跳过下一个函数调用)

 14、可以看到e是解密结果,我们需要把e的结果搞清楚:

e=(0, i[jt])((0,i[qt])(a, d))  0表示代码执行的优先级

15、在控制台输出e的值,得以下结果:

 

 16、我们对e拆解后:

(i[jt])((i[qt])(a, d))  

 (i[jt])=v方法

(i[qt])=h方法

 17、得知 v是一个加密方法,h方法传入两个参数,得出的结果被v方法解密,最后形成我们需要的analysis的值

18、扣出v方法和h方法,鼠标放在 (i[jt])上面即可弹出此画面,点击标红出进入v方法内部

19、复制v方法,使用类似的方法把h方法复制出来 

20、需要注意的是:缺啥补啥,以上是大致思路

因为文章长度有限,本文章到此结束,需要抠完js代码请私信我(私信内容:七麦js)

看看node执行效果:

 

PS:有用的话记得点个赞!

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

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

相关文章

2022年NOC大赛编程马拉松赛道复赛图形化低年级A卷-正式卷,包含答案

目录 选择题: 多选题: 编程题: 下载文档打印做题: 2022年NOC大赛编程马拉松赛道复赛图形化低年级A卷-正式卷 2022NOC-图形化复赛低年级A卷正式卷

天地气运流转,皆在五行生克中

在中国的传统文化里,常讲“气运”二字,把两字分开,便是气数与命运。 在现代人的观念里,气运是个复杂又抽象的概念。 天地五行之气轮流转,一切都在五行生克中。 而古人的方法,是通过五行的变化来描述气运的流…

Promise类方法

这篇主要讲一下Promise的类方法的基本使用,至于Promise的基本使用这里就不赘述了,之前也有手写过Promise、实现了Promise的核心逻辑。其实我们平时用Promise也挺多的,不过又出现了两个新的语法(ES11,ES12新增了两个&am…

Gradle使用

下载Gradle Gradle Distributions 配置环境变量 测试是否成功 cmd输入gradle -v 在.gradle目录下创建一个init.gradle allprojects { repositories { maven { url file:///D:/maven/myRepository} ## 这里是本地maven仓库地址,没有就会依次向下设置的地址寻…

wisp5学习日记1

这里写目录标题 编译工程问题一 LSD-FET430UIF仿真器排针方向与所给排针方向示意图不一致,不知怎么方向问题2 拟器或仿真器无法找到连接到计算机的USB FET 编译工程 鼠标右键选择build project 问题一 LSD-FET430UIF仿真器排针方向与所给排针方向示意图不一致&…

【Java基础 2】Java 基础语法

🍊 Java学习:社区快速通道 文章目录 1 变量与基本数据类型1.1 变量1.2 数据类型1.3 标识符1.4 类型转换1.5 关键字大全 2 二进制概述3 方法4 运算符4.1 算术运算符4.2 赋值运算符4.3 关系运算符4.4 逻辑运算符4.5 字符串连接运算符4.6 三目运算符 5 命名…

配置JDK环境变量

文章目录 查看电脑系统下载及安装JavaSE配置系统环境变量测试环境变量配置是否成功。 查看电脑系统 运行输入框中输入:control 下载及安装JavaSE 这个从网上下载就行,jdk-8u141-windows-x64.exe,不提供下载方式了。 主要讲解安装过程&a…

AI 工具合辑盘点(十二)持续更新 之 面向学生群体的 AI 工具和面向所有人的 AI 工具

面向学生群体的 AI 工具 人工智能在教育领域可以发挥多种作用。例如,它可以用于个性化课程、检测抄袭、转录讲座和促进教师与学生之间的快速沟通等等。 教育面临着许多挑战,这些人工智能工具可以帮助教师和学生。这些 AI 可以替代手动工作、降低人为错…

图解HTTP

文章目录 第一章、了解web及网络基础HTTP 的诞生网络基础 TCP/IPTCP/IP 协议族层次化的好处应用层传输层网络层链路层(又名数据链路层,网络接口层) 数据传输流举例: 与HTTP关系密切的协议:IP、TCP和DNS负责传输的 IP 协…

Simulink 自动代码生成电机控制:开发板DAC接口辅助调试的方法

目录 前言 DAC基本原理 PWM模拟DAC DAC底层代码配置 DAC调试演示 总结 前言 DAC是比较常用的数字转模拟单元,通过给定数字量,输出一个模拟信号,有比较广泛的用途,在这里只讨论DAC作为一个调式手段帮助打印出电机控制里面的一…

【大学物理实验】实验报告数据

写在前面: 1:本文章收集CAU的18个大学物理实验的实验数据,仅供参考。(因为本人很讨厌竞速实验orz) 2:实验之间的差距,不如负责老师之间的差距。以及需要考虑机考的虚拟实验你会不会做。&#…

Linux内核驱动开发(二)

LED设备驱动 LED基本硬件原理(以QT210为例) 通过配置GPIO,把相应的GPIO设置成高电平或低电平,达到点灯。 LED设备驱动的代码 leds_create_device 初始化设备 核心数据结构初始化 设备号 major>0 :指定了设备号…

nexus工作原理及项目配置注意事项

一、nexus工作原理图 私服搭建&#xff0c;可以参考下面链接&#xff1a; 搭建Maven私服Nexus3_石工记的博客-CSDN博客 二、项目配置注意事项&#xff08;两个配置&#xff09; 1.maven中settings的两个配置&#xff1a;添加<server/>&#xff08;不必需项&#xff09…

哈夫曼编码

哈夫曼编码 基本介绍 赫夫曼编码也翻译为 哈夫曼编码(Huffman Coding)&#xff0c;又称霍夫曼编码&#xff0c;是一种编码方式, 属于一种程序算法赫夫曼编码是赫哈夫曼树在电讯通信中的经典的应用之一。赫夫曼编码广泛地用于数据文件压缩。其压缩率通常在20%&#xff5e;90%之…

Variable used in lambda expression should be final or effectively final

场景描述 我们在使用Java8 lambda表达式的时候时不时会遇到这样的编译报错&#xff1a; 这句话的意思是&#xff0c;lambda 表达式中使用的变量应该是 final 或者有效的 final&#xff0c;为什么会有这种规定&#xff1f; 匿名类中的局部变量 其实在 Java 8 之前&#xff0…

【iOS】—— RunLoop线程常驻和线程保活

文章目录 没有线程常驻会怎么样&#xff1f; 线程常驻线程保活 没有线程常驻会怎么样&#xff1f; 我们一般写一个子线程&#xff0c;子线程执行完分配的任务后就会自动销毁&#xff0c;比如下面这个情况&#xff1a; 我们先重写一下NSThread里面的dealloc方法&#xff0c;打印…

如何在测试中让H2支持JSONB

如今在开发系统时&#xff0c;有各种各样的数据库供我们选择。之前我们在博客基于MariaDB4j实现持久层单元测试介绍了使用MariaD4j代替作为MySQL的替身执行单元测试&#xff0c;但是并不是所有的数据库都能找到合适的替身来执行单元测试。 今天作者在写测试的过程中就遇到了一…

AutoSar标准官网下载

文章目录 打开官方网站ECU的开发基本遵循标准为Classic Platform选择相应模块&#xff0c;此框图链接为最新标准&#xff0c;也可在下方选择历史版本跳转进来后&#xff0c;可以选择下载所有文档&#xff0c;也可以按需下载Autosar文档命名&#xff1a;AUTOSAR类型模块名称 打开…

2023 年 3 月青少年机器人技术等级考试理论综合试卷(六级)

2023 年 3 月青少年机器人技术等级考试理论综合试卷&#xff08;六级&#xff09; 一、单选题(共 20 题&#xff0c;共 80 分) 1. ESP32 for Arduino I C 类库的成员函数 beginTransmissio()中&#xff0c;下列描述正确的是&#xff1f;&#xff08; C&#xff09; A. 初始化&a…

Java 基础进阶篇(十一)—— 泛型的定义与深入

文章目录 一、泛型概述二、泛型的定义2.1 泛型类2.2 泛型方法2.3 泛型接口 三、泛型深入3.1 泛型通配符3.2 泛型上下限3.3 案例&#xff1a;定义一个 “所有车量进行比赛” 的方法 一、泛型概述 泛型是 JDK5 中引入的特性&#xff0c;可以在编译阶段约束操作的数据类型&#x…