某乎请求头96参数

关于某乎的请求头参数详解

有个x96 和x81
在这里插入图片描述
x-96: 2.0_G9RD9Sl3aKjZh3Wjb5HqU6JQ85t=NV9=Hy0o928Graxo3y7ihdl2G4oYfD3QNaz5

在这里插入图片描述
x-96: 2.0_+2NHgL5Cy6DaswnHTlUbkzfQSO2sSGZD3HZSKhPfU=4DSL8lZMix7j3Js09wQGub
在这里插入图片描述
可以看出x96是变化的,x81在一段时间内多次请求是固定的

就分析下x96的生成

在这里插入图片描述
在代码中可以发现 x96是通过 “2.0_” + 一个加密字符串生成的

看看这个_是怎么来的

_ = T.signature;
    , T = function(e, t, n, r) {
                            var i = n.zse93
                              , o = n.dc0
                              , a = n.xZst81
                              , c = H(e)
                              , u = q(t)
                              , s = [i, c, o, W(u) && u, a].filter(Boolean).join("+");
                            return {
                                source: s,
                                signature: (0,
                                F(r).encrypt)(f()(s))
                            }
                        }(t, c.body, {
                            zse93: g,
                            dc0: E,
                            xZst81: m
                        }, l)
                          , _ = T.signature;

从以上可以分析出 就是这个T.signature

然后signature又是通过(0, F(r).encrypt)(f()(s))这里来的

就是这个F(r).encrypt函数生成

先看看这个参数s

在这里插入图片描述
s像是一个url拼接上x81而来

再看看
在这里插入图片描述
这有点像md5 去试试

在这里插入图片描述
可以看出 是把这个参数md5了一下

最后看看这个encrypt函数

在这里插入图片描述
点进去这个encrypt函数之后 跳到了这里 这就像是jsvmp加密了

然后我们再到js文件头部看看

在这里插入图片描述
这里可以看到有一个标准化的webpack的加载器代码

在这里插入图片描述
搜索一下也能发现webpack的关键字

遇到这种 就直接先copy js代码到本地吧

在这里插入图片描述
在这里插入图片描述
复制代码到本地的时候 把这个函数列表直接删掉 到时候用到哪些函数再补就行了 不然代码太多了。。

再回过来看看F(r).encrypt(f()(s))这里面的r是undefined,再看看这个F是什么

在这里插入图片描述
可以发现 F是一个对象 里面包含了一个encrypt函数和一个version
在这里插入图片描述
这个version是3.0 应该是加密的版本吧

这里关键的是这个encrypt函数

 encrypt: u.a,

这里可以发现encrypt是等于u.a 再往上面找找u

在这里插入图片描述
这里发现 , c = n(424) , u = n.n(c)

那么再看看这个n是什么

点进n看看
在这里插入图片描述
可以发现 n是加载器的代码

那么c=n(424)就代表执行的函数列表里面的第424个函数

接着就去找找这个函数

在这里插入图片描述
在代码的开头部分 发现了c.m=e, 这里把webpack的函数列表赋值给了c.m

我们就可以直接通过c.m[424]找到这个函数

在这里插入图片描述
这里果然就找到这个函数了 进去看看

从这里开始
在这里插入图片描述
到这里结束
在这里插入图片描述
可以发现 也就是那段jsvmp的部分的代码

好了 直接把这段代码扣到本地

在这里插入图片描述
然后把加载器函数在本地挂载到变量上

在这里插入图片描述
然后运行下试试

可能需要补下环境 window document location navigator什么的都补下

缺啥补啥
在这里插入图片描述
发现是没有问题的 (如果424函数代码里面遇到n(数字)的情况就需要去找对

应的函数扣下来,这里是没有用到其他函数的,较简单)

这里这个default就是encrypt加密函数

在这里插入图片描述
然后再试试调用

在这里插入图片描述
就是这个了

需要用到webpack相关知识。不熟悉的可以百度下

ok!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值