声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
关于 w 值
三代里面,有三个接口请求有w,按照请求顺序称为w1、w2、w3, 除了最后一个校验接口ajax.php之外,其他的w可以置空。
请求间隔
请求太快容易失败,最好每次请求后停留个 2 秒左右
challenge、c、s
- 整个请求流程中共有两个接口返回了challenge
- register请求
- 第二次get.php
- 整个请求流程中共有两个接口返回了c和s
- 第一次get.php请求
- 第二次get.php请求
- 两次返回的c值不变,s值变化
需要注意的是参与后续w值的计算需要使用第二次返回的challenge和s
passtime
生成的轨迹数组里最后一个元素的时间值
arrayCoordinate = [[1, 2, 10], [2, 3, 11], [3, 4, 12]...[15, 16, 501]]
则arrayCoordinate[-1][-1]即是passtime的值
t
userresponse参数计算用到的t是最后一次滑动的x值(滑动的实际距离)
distance
从上图可以看出滑块前面有大概7个像素的空白距离,所以乱序底图还原后识别出的滑动距离需要再减去这个空白值
distance = 实际识别的长度 - 7
要不要减去这个值、减去多少,需要根据实际的目标网站而定
随机值
在参与w值计算的时候会用到一个16位的随机值,这个随机值在整个加密流程中要保持一致
补环境
给大家介绍一个好用的js补环境的工具,支持一下作者
链接: 补环境工具