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

目录

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

一、反爬参数如图

js逆向工具-v-jstools插件自动补环境_第1张图片

二、知识点提前Get

  • 1.cookie一般是两种,要么服务器生成,要么js生成,可通过如下方式判断
    js逆向工具-v-jstools插件自动补环境_第2张图片

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

  • 3.补环境分三部分,上中下,在最上面放好你补的环境参数,中间部分放好js代码,最下面部分放生成的目标参数,补环境的好处就是我们完全不用考虑内部的算法逻辑,让它能正常跑起来输出就行
    js逆向工具-v-jstools插件自动补环境_第4张图片

三、v_jstools安装

  • 1、下载地址 https://github.com/cilame/v_jstools 来自v佬开源开发,大赞
    js逆向工具-v-jstools插件自动补环境_第5张图片

  • 2、安装如图:打开 chrome://extensions/ , 然后把解压后的文件夹拖进去就可以
    js逆向工具-v-jstools插件自动补环境_第6张图片

  • 3、然后这里把他固定住
    js逆向工具-v-jstools插件自动补环境_第7张图片

四、详细分析流程

  • 1.先点击打开如下两个开关,然后打开配置页面
    js逆向工具-v-jstools插件自动补环境_第8张图片

  • 2.如下插件配置详情,勾选上总开关,DOM开关,以及常用的挂钩,然后关掉该配置页面
    js逆向工具-v-jstools插件自动补环境_第9张图片

  • 3.直接看视频-缺啥补啥的方法补环境:https://www.bilibili.com/video/BV1FN4y1d7av/ 或者星球文章 后,我们知道生成cookie的js代码,如图hook到了cookie,然后堆栈回溯查看定位到具体的js文件内容
    js逆向工具-v-jstools插件自动补环境_第10张图片

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

  • 5.我们继续回到浏览器里面,先清掉缓存cookie
    js逆向工具-v-jstools插件自动补环境_第13张图片

  • 6.然后刷新网页,在滑动鼠标下滚下,防止无法正常生成临时环境,如下弹出,代表环境参数已经生成好
    js逆向工具-v-jstools插件自动补环境_第14张图片
    js逆向工具-v-jstools插件自动补环境_第15张图片

  • 7.我们回到vscode里面,在刚刚新建的js文件里面ctrl+v粘贴刚刚生成的临时环境,放在最上方
    js逆向工具-v-jstools插件自动补环境_第16张图片

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

  • 1)生成的补环境直接能用
    js逆向工具-v-jstools插件自动补环境_第17张图片

  • 2)已经能生成正常cookie但是不能用,一直是固定的
    js逆向工具-v-jstools插件自动补环境_第18张图片

  • 3)完全生成不出cookie结果值
    js逆向工具-v-jstools插件自动补环境_第19张图片

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

  • 1.我们还是按之前的步骤清掉缓存,打开插件的勾选项,然后这里唯一要注意的点就是需要勾选script断点,然后用它生成的临时环境
    js逆向工具-v-jstools插件自动补环境_第20张图片

  • 2.刷新网页后,跳到目标生成cookie的js文件被断住的js后,我们取消script断点,直接下一步调试过去
    js逆向工具-v-jstools插件自动补环境_第21张图片

  • 3.这时候点击插件的生成临时环境,可能会报错如下,生成的临时环境无法保存至剪贴板
    js逆向工具-v-jstools插件自动补环境_第22张图片

  • 4.多点击几次生成临时环境就可以了,我们把它复制到本地js文件里面
    js逆向工具-v-jstools插件自动补环境_第23张图片

  • 5.ctrl+v粘贴到本地js文件中,运行能生成正常cookie,但是程序处于卡死无法退出状态
    js逆向工具-v-jstools插件自动补环境_第24张图片

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

  • 7.我们在js代码的最上方的位置添加setInterval = function(){}将定时器置空即可,这时候能正常生成cookie了,并且把日志输出置空var v_console_log = function(){{}}
    js逆向工具-v-jstools插件自动补环境_第26张图片

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

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

  • 1.勾选Caught Exceptions,即使所发生运行时异常的代码在 try/catch 范围内,Chrome 开发者工具也能够在错误代码处停住,这里就不详细介绍了,大概思路如下
    js逆向工具-v-jstools插件自动补环境_第28张图片

五、文章与视频

  • 参考文章,十一姐b站视频

你可能感兴趣的:(js逆向补环境案例入门,javascript,爬虫,js逆向,补环境)