js逆向工具-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 开发者工具也能够在错误代码处停住,这里就不详细介绍了,大概思路如下
    在这里插入图片描述

五、文章与视频

  • 12
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值