题目:
首先抓取翻页数据包,发现无限debugger,解决:添加断点条件
跳过debugger之后,对翻页进行抓包
如何确定加密参数?
清理缓存,点击下一页,确定cookie为空,可以判断cookie没有被加密
观察其它参数也没有加密,最终确定加密参数为m
查看请求调用堆栈
确认代码为混淆加密
复制混淆代码去解混淆工具解混
通过解混淆后的代码,分析加密参数m值的生成过程
参数加密过程:
参数m通过变量_0x57feae拼接_0x2268f9/1000生成,变量_0x57feae通过调用oo000方法传参
在函数调用处打上断点,做一个翻页的请求,点击下一页,发现值为空
确定要找的值在window['\x66']里面,也就是解混后的window[“f”]
进入方法oo000源代码里面,找到window[“f”]变量赋值的过程
复制atob(window['b'])[J('0x0', ']dQW')](J('0x1', 'GTu!'), '\x27' + mw + '\x27')到控制台输出
拿到解密之后的JS源代码
找到变量的声明过程
修改代码片段,还原加密参数m的值
参数还原出来之后,验证一下参数是否一致
后面就是编写爬虫代码,爬数据,求平均值
代码展示如下:
运行结果: