同花顺动态Cookie反爬JS逆向分析

news2024/11/19 18:33:43

文章目录

  • 1. 写在前面
  • 2. 请求分析
  • 3. Hook Cookie
  • 4. 补环境

1. 写在前面

  最近有位朋友在大A失意,突发奇想自己闲来无事想要做一个小工具,监测一下市场行情的数据。自己再分析分析,虽是一名程序员但苦于对爬虫领域相关的技术不是特别熟悉。最后只能是我稍微代劳一下爬虫相关的部分工作了,于是有了这篇文章


分析目标

aHR0cDovL3EuMTBqcWthLmNvbS5jbi8=


在这里插入图片描述


2. 请求分析

  这里打开目标网站,抓包看一下请求。可以发现这个网站有根据Cookie来反爬的,Cookie的生成是动态的!可以看到下图所示Cookie中有一个加密参数v:

在这里插入图片描述

3. Hook Cookie

  Cookie既然是动态生成的,选择Hook方式, Hook的方式有很多,油猴、代码注入…

Hook Cookie的JS代码如下:

(function() {
    'use strict';
	var cookieTemp = "";
    Object.defineProperty(document, 'cookie', {
		set: function(val) {
				console.log('Hook捕获到cookie设置->', val);
                debugger;
				cookieTemp = val;
				return val;
		},
		get: function()
		{
			return cookieTemp;
		}
    });
})();

启动Hook脚脚本,看到这个值是v的时候就是我们的目标Cookie

在这里插入图片描述
根据堆栈找到v生成代码的位置,点击堆栈跳转到如下位置,可以看到函数D方法内n就是v参数
在这里插入图片描述

4. 补环境

  把整个JS代码拿下来,缺什么补什么,这里推荐使用v_jstools工具来补!

在浏览器下载工具:v_jstools

清除当前网站的Cookie信息,打开开发者工具并且配置v_jstools,刷新页面后点击生成临时环境,最后在控制台将会看到环境代码,复制拿到先前已扣出来的JS代码上方即可,环境代码如下图所示:
在这里插入图片描述

补完环境验证一下最终效果,如下所示(完整的JS代码多达2000+行,这里就不再贴出来了):

在这里插入图片描述

  好了,到这里又到了跟大家说再见的时候了。创作不易,帮忙点个赞再走吧。你的支持是我创作的动力,希望能带给大家更多优质的文章

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

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

相关文章

开源文档编辑器ONLYOFFICE最新版7.5发布

开源办公套件 ONLYOFFICE 文档最新版 7.5 现已发布:全新 PDF 编辑器、自动断字、分页符和跟踪箭头、屏幕朗读器等诸多新功能。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一款开源的办公套件,由总部位于拉脱维亚的Ascensio System SIA开发。它支持处理文本文档、电…

请解释一下 CSS3 的 Flexbox(弹性盒布局模型), 以及适用场景?

解析: CSS3的Flexbox(弹性盒布局模型)是一种强大的布局技术,用于创建灵活和响应式的布局。它解决了传统CSS布局模型在垂直和水平居中、等高列、自适应宽度等方面的一些挑战,使开发人员能够更轻松地构建各种复杂的布局。在下面的详…

【Java笔试强训】Day2(OR62 倒置字符串,排序子序列)

OR62 倒置字符串 链接:倒置字符串 题目: 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I 题目分析: 我们先有一个整体的思路,然后用代码去实现&#xff1…

【高等数学】导数与微分

文章目录 1、导数的概念1.1、引例1.1.1、变速直线运动瞬时速度1.1.2、曲线的切线 1.2、导数的定义1.3、证明常用导数1.4、导数的几何意义1.5、可导与连续的关系 2、函数的求导法则2.1、函数的和、差、积、商的求导法则2.2、反函数的求导法则2.3、复合函数的求导法则2.4、基本初…

Win系统VMware虚拟机安装配置(二)

系统的安装得分两个步骤,第一步得配置一台电脑,选配 cpu,内存,磁盘,网卡等硬 件。第二步才是安装系统。 一、配置电脑 1、 进入 VMware 双击 VMware 图标,看到如下界面。 2、 自定义新的虚拟机 3、…

网络协议--IP:网际协议

3.1 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输(见图1-4)。许多刚开始接触TCP/IP的人对IP提供不可靠、无连接的数据报传送服务感到很奇怪。 不可靠(unreliable)的意思是它不能…

苹果ipa文件签过名之后,不用分发可以直接下载安装到苹果手机上吗?安装原理与解决方案。

为什么我的苹果IPA文件不能安装到手机?我来说说,我们时常使用各种各样的应用程序来完成各类任务,获取信息和娱乐。但是,在众多的应用程序背后,有很多我们可能从未涉及的知识领域。其中,对于苹果设备上的ipa…

用 Java 在 PDF 中创建和管理图层,实现交互式文档

PDF 图层(也称为可见图层或附加图层等)是组织和管理 PDF 文档中内容可见性的一种方法。PDF 图层可用于创建交互式文档、隐藏或显示特定信息、创建多语言版本文档等。通过添加和删除图层,用户可以根据需要定制 PDF 文档指定内容的可见性与显示…

BAT031:按列表名单将路径a下的文件夹批量剪切到路径b

引言:编写批处理程序,实现按列表名单将路径a下的文件夹批量剪切到路径b。 一、新建Windows批处理文件 参考博客: CSDNhttps://mp.csdn.net/mp_blog/creation/editor/132137544 二、写入批处理代码 1.右键新建的批处理文件,点击…

Git基本命令和使用

文章目录 1、Git本地库命令1.1、初始化本地库1.2、设置用户签名1.3、查看本地库状态1.4、将工作区的修改添加到暂存区1.5、将暂存区的修改提交到本地库1.6、历史版本 2、分支操作2.1、查看分支2.2、创建分支2.3、分支合并时产生冲突 3、Gitee远程库实操3.1、克隆远程仓库3.2、创…

开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单

源码下载:https://download.csdn.net/download/m0_66047725/88403340 源码下载2: 关注我留言 开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单。基于RuoYi-VUE版本开发。 1、使用RuoYi-Vue的基础上开发。 2、集成flowable&a…

【七:(测试用例)spring boot+testng+xml+mock实现用例管理+数据校验】

目录 1、目录结构的相关类cases类1、添加用户 AddUserTest2、获取用户列表信息 GetUserInfoListTest3、获取用户信息 GetUserInfoTest4、登录测试5、更新用户信息 config类1、报告配置2、用户路径配置 model类utils类 配置配置类SQLMapper.xmlspring boot全局配置databaseConfi…

卷王问卷考试系统SurveyKing,开源调查问卷和考试系统源码

卷王问卷考试系统/SurveyKing是一个功能最强大的开源调查问卷和考试系统,可以快速部署,并适用于各行业。该系统提供了在线表单设计、数据收集、统计和分析等功能,支持20多种题型,多种创建问卷方式和多种问卷设置。 无论您是需要进…

解决Github Markdown图片显示残缺的问题

title: 解决Github Markdown图片显示残缺的问题 tags: 个人成长 categories:杂谈 在Github存放Markdown文档,如果图片没有存放在Github服务器上,github会尝试生成Github图片缓存,使用Github图片缓存,进行实际的展示。但比较蛋疼的…

在ROS中将点云(PointCloud2)生成Octomap,rviz可视化显示

一个python文件作为publisher,发布点云数据。一个C项目接收点云数据,引用octomap库,将点云生成octomap的tree,在将tree通过topic发布出去,rviz订阅octomap tree的topic进行可视化显示。 首先创建一个python的点云发布…

使用MFC创建一个SaleSystem

目录 1、项目的创建: 2、项目的配置: 3、设置窗口属性: (1)、设置图标 1)、添加导入资源 2)、代码初始化图标 (2)、设置标题 (3)、设置窗口…

【文献copilot】调用文心一言api对论文逐段总结

文献copilot:调用文心一言api对论文逐段总结 当我读文献的时候,感觉读得太慢了,看翻译软件翻译的又觉得翻译的不好。于是我就写了个程序辅助我读文献,它可以逐段总结,输出格式是:原文一句话总结分段总结&a…

Kafka与MySQL的组合使用

根据上面给出的student表,编写Python程序完成如下操作: (1)读取student表的数据内容,将其转为JSON格式,发送给Kafka; 创建Student表的SQL语句如下: create table student( sno ch…

基于深度学习网络的蔬菜水果种类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1数据集准备 4.2构建深度学习模型 4.3模型训练 4.4模型评估 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; wa…

【C++】C++学习(模板+排序+测时)

本文主要记录使用模板函数来编写排序算法,并计算运行时间。 模板函数(Template Function)是一种通用函数,可以在其定义时不指定具体的参数类型,在调用时再根据需要指定具体类型。模板函数可以接受不同类型的参数&…