爬虫js逆向之-七麦数据

目标网址:aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9pbmRleC9icmFuZC9hbGwvZGV2aWNlL2lwaG9uZS9jb3VudHJ5L2NuL2dlbnJlLzM2 (需要进行ba64解码即可获取到参数)

需要逆向的加密参数:analysis

1、点击数据接口,触发请求

 2、点击载荷,查看参数

可以看到有一个名为analysis的参数,类似base64加密,经过作者验证,不同的数据接口,加密的结果不同

3、进行XHR断点

查看加密过程,复制查询路径,问号前面的就是查询路径 ,可以全复制包括域名和协议,也可以只复制查询路径(域名后面到问号的地方即可)

4、触发断点

可以看到断点在send处停止

 5、点击跳过下一步函数调用按钮(标红的哪个地方),点击三次

 6、点击三次后,断点在then方法,then方法时axios响应拦截回调的方法

7、点击进入函数内部按钮(标红处) 

8、再次点击跳过函数调用按钮(点击两次),可以看到响应拦截器获取到了数据

 9、再次点击点击跳过函数调用按钮(点击两次),进入到响应响应拦截器内部

 10,进入请求拦截器内部

请求拦截器(发送请求前,进行拦截修改)就在上面,我们往上翻,可以看到请求拦截器在响应拦截器的上面,找到请求拦截器有什么用呢?

它主要是用来在请求发送前对请求体,或者请求参数进行加密、解密等操作,以保证请求的安全性和正确性。此外,请求拦截器还可以对请求头、请求体、请求尾部等部分进行处理,例如设置请求头、添加后端验证码等,以增强整个请求的安全性和可靠性。

11、给请求拦截器加上断点调试:

 12、跳过函数调试

点击小三角按钮(跳到下一个断点处)

 13、跳点调式

ctrl+R  全局刷新网页,进入断点,点击两次半圆按钮(跳过下一个函数调用)

 14、可以看到e是解密结果,我们需要把e的逻辑加密搞清楚:

e=(0, i[jt])((0,i[qt])(a, d))  0表示代码执行的优先级

15、在控制台输出e的值,得以下结果:

 16、我们对e加密拆解后:

(i[jt])((i[qt])(a, d))  

 (i[jt])=v方法

(i[qt])=h方法

 17、拆解e的加密逻辑

得知 v是一个加密方法,h方法传入两个参数,得出的结果被v方法解密,最后形成我们需要的analysis的值

18、扣出v方法和h方法

鼠标放在 (i[jt])上面即可弹出此画面,点击标红出进入v方法内部

19、复制v方法,使用类似的方法把h方法复制出来 

20、需要注意的是:缺啥补啥,以上是大致思路

因为文章长度有限,本文章到此结束,需要抠完js代码请私信我(私信内容:七麦js)

执行效果:

PS:有用的话记得点个赞!

猜你喜欢

转载自blog.csdn.net/m0_63533079/article/details/130541180