• 利用半自动补环境插件处理某乎算法


    利用半自动补环境插件处理某乎算法

    背景:

    最近发现了一个半自动补环境插件,感觉还可以,然后人家我看别人的文章有个Demo。

    简单理解了下什么原理,下面我就简单说下食用方法,用下来还是不错滴

    仓库地址:https://github.com/cilame/v_jstools

    某乎页面:aHR0cHM6Ly93d3cuemhpaHUuY29tL3NlYXJjaD90eXBlPWNvbnRlbnQmcT1weXRob24=

    插件安装:

    我安装的是「Commits on Aug 5, 2022」这个时间版本 因为前面的不知道为啥复制下来就是undefined

    https://github.com/cilame/v_jstools/tree/1ee5bdea941b20745bb2b711f861719c71288723

    image-20221112164123342

    然后「解压」–> 「打开 chrome://extensions/ 页面 」–> 「打开开发者模式」 -> 「加载文件夹」就OK

    然后找到插件,「打开配置页面」:

    image-20221112164333644

    这个是什么意思呢,就是在加载页面的时候会对涉及到的记录你在浏览器里面的值然后进行函数Hook

    寻找算法:

    打开页面找到浏览器请求,随便找一个就能发现:

    image-20221112164555019

    *我们先明确下我们的目标:找到如何组成2.0_xxxxxxxx的来路

    1. 先全局搜索「x-zse-96」能找到两处,这里我就直接说在这里打就OK:(格式化代码都会吧)
    image-20221112164816132
    1. 刷新整个页面,分析断点处的信息:
    image-20221112165048154

    2.1 分析signature怎么来的:

    断点不动,然后点击控制台,发现f()(s)是一串值【这里我们就暂时不分析这个怎么来的了(篇幅有限)】

    image-20221112165138744

    前面那个(0, F®.encrypt)是个函数,这里注意,鼠标放在控制台的函数返回上面双击会直接跳转到对应位置

    image-20221112165323415

    打上断点:

    image-20221112165448702

    开启插件,脱代码:

    刷新页面,重新来到这里:

    image-20221112165546072

    这个时候就要分析代码了,看见下面的export.default是把这个D函数导出去了,反过来想这个函数就在这一块内

    往上面翻看,会发现是个函数自执行,这样的话就开始扣代码。

    image-20221112165952459

    运行不报错就OK。

    image-20221112170016454

    然后你在某乎的控制台会发现大量的打印,那么就是Hook成功了,直接打造临时环境:

    image-20221112170123715

    创建Node环境:

    创建一个env.js复制进去,然后记得先加载这个

    image-20221112171401490

    在Index.js 把扣的代码放进去,然后在Index.js最上面把env.js引入进来

    image-20221112171429793

    使用Node执行:(我是丢在沙盒里面的,无所谓没差啥)

    image-20221112171521184

    这样这个加密参数就出来了,然后里面是有随机值的,所以会发现每次执行不一样

    整个使用的思想就是这样,再难也是拼经验、思路、耐心,先这样吧

    假如没有这个插件?

    没有这个插件就需要补浏览器环境了,运行代码缺啥补啥可以简单理解为,这里我先不展开说了,周末愉快。

  • 相关阅读:
    Ubuntu20.04安装Carla0.9.15
    【001】变量知多少
    1.3 Linux目录操作
    基于JAVA的鲜花店商城平台【数据库设计、源码、开题报告】
    权限系统就该这么设计(万能通用),稳的一批!
    Python学习第九篇:zipfile 库操作压缩包
    [国产MCU]-W801开发实例-MQTT客户端通信
    C#串口通信从入门到精通(25)——整数/小数(浮点数)和字节数组互相转换
    mysql面试题1:MySQL有哪些常见存储引擎?MySQL默认是哪个存储引擎?
    从github上下载下来的代码下载依赖提示: An unknown git error occurred
  • 原文地址:https://blog.csdn.net/weixin_51485807/article/details/127822715