本文仅供学习交流,只提供关键思路不会给出完整代码,严禁用于非法用途,若有侵权请联系我删除!
网站地址:aHR0cHM6Ly9zZWFyY2guYmlsaWJpbGkuY29tL2FsbD92dD03OTExMjUwNSZrZXl3b3JkPSVFNyU4OCVBQyVFOCU5OSVBQg==
关键字搜索接口:aHR0cHM6Ly9hcGkuYmlsaWJpbGkuY29tL3gvd2ViLWludGVyZmFjZS93Ymkvc2VhcmNoL3R5cGU/X19yZWZyZXNoX189dHJ1ZQ==
打开chrome的控制台抓包,发现关键字搜索的接口中有w_rid,qv_id等加密参数
我们先来看w_rid参数,Ctrl + F 全局搜索w_rid参数,发现有多个地方都存在,可以都打下断点刷新页面,注意与请求中的参数比对
断下关键行: w_rid:gn
往上找找看到: gn = md5$1(an + xt) 这行代码,写的很直白(md5), 将鼠标光标放在传的参数上面,发现就是我们关键字搜索接口传的参数,我们将这段参数复制下来做MD5加密,发现返回结果和32位小写一模一样。验证成功!
有兴趣的同学也可以点进这个方法,尝试将算法还原出来。也比较简单,缺啥补啥就好了。
接下来我们继续看 qv_id字段啦,在调试过程中发现一个比较好玩的,喏:
控制台打印出:init qvid... P6FJqAju2N4mHm6tfXSxLPf0nMyXQPm1
比对这段加密字符和我们搜索url中的一样,我们直接搜索:init qvid...
定位到:Re.value = Aa(32, "0-9a-zA-Z") 这段代码,将这个方法执行结果与后面发起请求的qv_id字段比对,一模一样。
现在我们来尝试把代码扣出来:点进Aa方法,断点打进去,缺什么方法补什么
最终我们需要补上:isStr$2, isNum$3,isBol,randomNum,isArr,unique等方法,传固定的参数,let st = 32, dt = '0-9a-zA-Z',直接执行,得到结果。
收工收工。