js逆向工具-v-jstools插件自动补环境

目录

      • 一、反爬参数如图
      • 二、知识点提前Get
      • 三、v_jstools安装
      • 四、详细分析流程
        • 方法一:本案例操作流程之-生成临时环境-直接可以用的情况
        • 方法二:本案例操作流程之-生成临时环境-不可以直接用,需要调试补下
      • 五、文章与视频

一、反爬参数如图

图片

二、知识点提前Get

  • 1.cookie一般是两种,要么服务器生成,要么js生成,可通过如下方式判断
    在这里插入图片描述

  • 2.为啥要补环境:简言概括下,是因为我们知道这个js文件代码内容会生成我们想要的参数,但是放到本地nodejs环境下运行不出结果,因为缺少浏览器环境特有的一些window/document/navigator/localstorage等参数,所以我们需要把这些缺少的浏览器环境补上,让这份js代码在本地nodejs环境下也能运行出结果来。请看这个图10秒钟
    在这里插入图片描述

  • 3.补环境分三部分,上中下,在最上面放好你补的环境参数,中间部分放好js代码,最下面部分放生成的目标参数,补环境的好处就是我们完全不用考虑内部的算法逻辑,让它能正常跑起来输出就行
    在这里插入图片描述

三、v_jstools安装

  • 1、下载地址 https://github.com/cilame/v_jstools 来自v佬开源开发,大赞
    图片

  • 2、安装如图:打开 chrome://extensions/ , 然后把解压后的文件夹拖进去就可以
    在这里插入图片描述

  • 3、然后这里把他固定住
    图片

四、详细分析流程

  • 1.先点击打开如下两个开关,然后打开配置页面
    图片

  • 2.如下插件配置详情,勾选上总开关,DOM开关,以及常用的挂钩,然后关掉该配置页面
    图片

  • 3.直接看视频-缺啥补啥的方法补环境:https://www.bilibili.com/video/BV1FN4y1d7av/ 或者星球文章 后,我们知道生成cookie的js代码,如图hook到了cookie,然后堆栈回溯查看定位到具体的js文件内容
    在这里插入图片描述

  • 4.所以我们先在vscode里面新建一个js文件,把js代码和希望输出的函数写好,还是三部分,第一部分待补的环境,后面将插件生成的临时环境放过来,第二部分js代码也就是我们上个文章介绍的生成cookie的js文件,第三部分生成cookie的调用是我们手动添加的函数
    在这里插入图片描述
    在这里插入图片描述

  • 5.我们继续回到浏览器里面,先清掉缓存cookie
    图片

  • 6.然后刷新网页,在滑动鼠标下滚下,防止无法正常生成临时环境,如下弹出,代表环境参数已经生成好
    图片
    图片

  • 7.我们回到vscode里面,在刚刚新建的js文件里面ctrl+v粘贴刚刚生成的临时环境,放在最上方
    图片

  • 8.接下来,我们运行下已经补好环境的js文件,最后发现可能会出现如下几种情况:生成的补环境之间能用;已经能生成正常cookie但是不能用;完全生成不出cookie结果值;所以这里适不同情况调试;接下来我会讲两种一种是直接能用的,一种是需要调试才能出结果的情况,大概率大家使用插件的时候也会遇到这个情况

  • 1)生成的补环境直接能用
    图片

  • 2)已经能生成正常cookie但是不能用,一直是固定的
    图片

  • 3)完全生成不出cookie结果值
    图片

方法一:本案例操作流程之-生成临时环境-直接可以用的情况

  • 1.我们还是按之前的步骤清掉缓存,打开插件的勾选项,然后这里唯一要注意的点就是需要勾选script断点,然后用它生成的临时环境
    图片

  • 2.刷新网页后,跳到目标生成cookie的js文件被断住的js后,我们取消script断点,直接下一步调试过去
    图片

  • 3.这时候点击插件的生成临时环境,可能会报错如下,生成的临时环境无法保存至剪贴板
    图片

  • 4.多点击几次生成临时环境就可以了,我们把它复制到本地js文件里面
    图片

  • 5.ctrl+v粘贴到本地js文件中,运行能生成正常cookie,但是程序处于卡死无法退出状态
    图片

  • 6.ctrl+s保存文件后,再次运行,这个时候已经能正常生成cookie值了,但是同样出现了我们上一篇文章介绍的虽然出来了cookie值,但是无法中断程序退出的现象,就是run后不能自动停掉程序,这时候我们可以尝试将setInterval()定时函数给置空试试,这是因为setinterval不会清除定时器队列,每重复执行1次都会导致定时器叠加,最终卡死你的网页(具体的大家可以调试看看)
    图片

  • 7.我们在js代码的最上方的位置添加setInterval = function(){}将定时器置空即可,这时候能正常生成cookie了,并且把日志输出置空var v_console_log = function(){{}}
    在这里插入图片描述

  • 8.接下来我们验证下这份通过插件补的环境,与js代码生成的cookie最终能不能用,用python调用js文件试试,如下我们调用js生成的cookie验证,发现能成功拿到cookie,这说明我们用插件补环境也能用,而上面插件补环境我们只做了两个操作置空定时器,把日志输出关掉即可,接下来分析调试过程中,可能你生成的临时环境不能用的解决方法
    图片

方法二:本案例操作流程之-生成临时环境-不可以直接用,需要调试补下

  • 1.勾选Caught Exceptions,即使所发生运行时异常的代码在 try/catch 范围内,Chrome 开发者工具也能够在错误代码处停住,这里就不详细介绍了,大概思路如下
    在这里插入图片描述

五、文章与视频

  • 原文文章
  • 十一姐b站视频
  • 时光漫漫星球

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023-08-22 Unity Shader 开发入门2 —— Shader 开发介绍

文章目录 一、必备概念1 计算机图形程序接口2 图形接口程序与其他概念的联系 二、Shader 开发1 Shader2 Shader 开发3 需掌握的内容 一、必备概念 1 计算机图形程序接口 ​ 计算机图形程序接口(Graphics API)是一套可编程的开放标准,不论 2…

【C++奇遇记】内存模型

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

五种 CSS 位置类型以实现更好的布局

在 Web 开发中,CSS(层叠样式表)用于设置网站样式的设置。为了控制网页上元素的布局,使用CSS的position属性。因此,在今天这篇文章中,我们将了解 CSS 位置及其类型。 CSS 位置属性用于控制网页上元素的位置…

Anaconda Conda实现Python多环境管理

Anaconda Conda实现Python多环境管理 Python多环境AnacondaConda环境管理下载安装镜像配置环境管理常用命令创建Python3.10环境 Python多环境 Python多环境指的是在同一台计算机上同时安装并管理多个不同的Python版本。可以在不同版本的Python之间切换,并确保每个项…

FastDeploy部署(C++ Win10)

参考链接:FastDeploy C部署保姆级教程 FastDeploy是百度为了解决AI部署落地难题,发布的新一代面向产业实践的推理部署工具。它旨在为AI开发者提供模型部署最优解,具备全场景、简单易用、极致高效三大特点。项目地址:FastDeploy项…

数据库概述

目录 数据库 数据库的基本概念 数据 表 数据库 数据库管理系统 数据库系统 DBMS的主要功能 DBMS的工作模式 ​编辑 数据库的发展 数据库类型 关系数据库 关系数据库的构成 非关系数据库 非关系型数据库的优点 关系型数据库与非关系型数据库的区别 数据库 数据库…

openCV实战-系列教程2:阈值与平滑处理(图像阈值/图像平滑处理/高斯/中值滤波)、源码解读

1、图像阈值 t图像阈值函数,就是需要判断一下像素值大于一个数应该怎么处理,小于一个数应该怎么处理 ret, dst cv2.threshold(src, thresh, maxval, type) 参数解析: src: 原始输入图,只能输入单通道图像&#…

Shell 编程快速入门 之 数学计算和函数基础

目录 1. 求两数之和 整数之和 浮点数之和 2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别 3. shell函数基础知识 函数定义 函数名 函数体 参数 返回值 return返回值的含义 return与…

【Ubuntu】从Graylog到Grafana Loki:构建更强大的网络设备管理和监控系统

在将Graylog部署到生产环境时,我们遇到了一些问题,其中最主要的是无法安装MongoDB并且无法随时重启机器去修改BIOS设置来修复问题 【WARNING: MongoDB 5.0 requires a CPU with AVX support, and your current system does not appear to have that! 】。…

AI 绘画Stable Diffusion 研究(十一)sd图生图功能详解-美女换装

免责声明: 本案例所用安装包免费提供,无任何盈利目的。 大家好,我是风雨无阻。 为了让大家更直观的了解图生图功能,明白图生图功能到底是干嘛的,能做什么事情?今天我们继续介绍图生图的实用案例-美女换装的制作。 对于…

第6天----【位运算进阶之-----位与()】七夕特别版

今天我们来学习C语言的位与。 ❤️C语言的位与(&)操作是一种按位运算符,用于对两个操作数的每个对应位执行逻辑与操作。它的操作规则如下: 如果两个操作数的对应位都为1,则结果的对应位也为1。(全1才…

pdf怎么转换成图片?用这几种简单方法搞定

pdf怎么转换成图片?PDF作为一种通用的文档格式,广泛应用于各个领域。然而,在某些情况下,我们可能需要将PDF文件转换成图片格式,以便更方便地在网页、社交媒体或演示中使用。下面就给大家介绍三种简单而高效的方法来实现…

基于springboot灾区物资管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

【Leetcode】移动零

移动零 题目描述算法描述编程代码 链接: 移动零 题目描述 算法描述 编程代码 class Solution { public:void moveZeroes(vector<int>& nums) {//题目要求不可以复制数组&#xff0c;开辟额外空间int dest -1,curr 0;for(;curr < nums.size();curr){if(nums[cu…

linux中互斥锁,自旋锁,条件变量,信号量,与freeRTOS中的消息队列,信号量,互斥量,事件的区别

RTOS 对于目前主流的RTOS的任务&#xff0c;大部分都属于并发的线程。 因为MCU上的资源每个任务都是共享的&#xff0c;可以认为是单进程多线程模型。 【freertos】003-任务基础知识 在没有操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式&#xff0c;但是如…

jenkins 是什么?

一、jenkins 是什么&#xff1f; Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写&#xff0c;可在Tomcat等流行的servlet容器中运行&#…

GraphScope,开源图数据分析引擎的领航者

文章首发地址 GraphScope是一个开源的大规模图数据分析引擎&#xff0c;由Aliyun、阿里巴巴集团和华为公司共同开发。GraphScope旨在为大规模图数据处理和分析提供高性能、高效率的解决方案。 Github地址&#xff1a; https://github.com/alibaba/GraphScope GraphScope 的重…

redis7高级篇3 数据量亿级别的统计分析(hyperloglog,bitmap,geo)

一 亿级别统计分类 1.1 统计分类 1.聚合统计&#xff1a;统计多个集合聚合的结果&#xff0c;也就是多个集合之间交并差的统计。 2.排序统计&#xff1a;在需要展示最新列表&#xff0c;排行榜等场景时&#xff0c;如果数据更新频繁或者需要分页时&#xff0c;建议使用zset12…

适合国内用户的五款ChatGPT插件

众所周知使用ChatGPT3.5需要使用魔法且不稳定&#xff0c;订阅ChatGPT4.0每月需要支付20美元&#xff0c;并且使用次数有限制。对于那些不想每年花费240美元&#xff08;超过1500元人民币&#xff09;来使用GPT4.0的朋友们来说&#xff0c;还有别的办法吗&#xff1f; 答案…

安防视频能力平台EasyNVR视频汇聚平台关闭匿名登陆的问题的解决步骤

EasyNVR是基于RTSP/Onvif协议的安防视频能力平台&#xff0c;它可实现设备接入、实时直播、录像、检索与回放、存储、视频分发等视频能力服务&#xff0c;可覆盖全终端平台&#xff08;pc、手机、平板等终端&#xff09;&#xff0c;在智慧工厂、智慧工地、智慧社区、智慧校园等…