本文仅供学习参考,又不懂的可以联系博主
- 目标链接:
aHR0cHM6Ly93d3cueXVucGlhbi5jb20vcHJvZHVjdC9jYXB0Y2hh

- 接口分析
-
captcha/get 验证码图片获取接口,GET请求,包含四个参数cb、i、k、captchaId

接口返回,如果是滑动验证码,则 bg 是背景图,front 是滑块图,还有个 token 值后续会用到

-
验证码轨迹验证接口,包含五个参数:cb、i、k、token、captchaId,其中 token 就是获取验证码接口返回的

- 加密参数分析
主要加密参数 cb、i、k、captchaId四个
- 参数1:captchaId;直接全局搜索

最后可以发现captchaId就是个定值,但是可能不通设备值不同。
可以看到所有参数都在这里了。

-
参数i和k都是跟a有关系的,可以看到a是通过加密函数得到的,入参如图所以。因此需要个个入参进行分析
入参1address:网站host
入参2distanceX:水平位移经过某种计算得到
入参3fp:往上可以看到是与指纹相关的,可以固定
入参4points:轨迹
入参5yp_riddler_id:uuid再经过特定格式化得到

跟进这个算法可以发现他就是RSA算法

-
上述解决了i和k,剩下只有参数cb了
cb值是r值,往上可以看到this.cbManager.preAdd()

跟进函数,可以看到就是做了一下随机数得到。




![[Android开发基础4] 意图与意图过滤器](https://img-blog.csdnimg.cn/38bd5d4445c043c4bc2b486d2ca4c82d.png)









![[js基础]ECMAScript2015(ES6)精要知识点(下)](https://img-blog.csdnimg.cn/img_convert/7eca13bc94c7d514ba0e2b2705cd5229.png)




