目标网站:aHR0cHM6Ly93d3cuYmluYW5jZS5jb20vemgtQ04vY2FwdGNoYS9tb2JpbGU/Yml6bGQ9bG9naW4mc2RrVmVyc2lvbj0xLjEuMA==
这种logo的图片就是B安自己的滑动验证码
话不多说,直接分析一波,其他接口参数都没问题,就是校验接口上有个data加密参数
通过堆栈慢慢跟进,即可找到加密入口
继续往里走,这个位置生成了参数data,跟进er这个方法
来到这里,调用Xt方法,传入e,c
e是轨迹信息,c是8位字符串,
看下c是哪来的,这里的s是请求验证码接口返回的ek字符串再反转一下
下班部分的4位字符串是通过 $t算法生成,扣代码即可
然后继续跟进Xt方法,来到这边的switch,由于是混淆的,看不出啥加密方法,直接找return位置下断点
这时的参数d已经是类似编码过了
在这层for循环里生成
还原后的方法其实也很简单
最终轨迹的加密方法已经搞定了
最后来看下轨迹吧,这两重要的参数已经圈上,接下来就要靠自己琢磨如何模拟了
最后看下完整的结果吧,出来token就ok了
然后有几个返回码的意思如下
result = 0 --> 成功
result = 1 --> 缺口位置错误
result = 3 --> 加密数据错误