分析

在这里插入图片描述
一次完整的请求,包括:

  • 获取验证码接口

接口返回了CertifyIdDeviceConfigStaticPath参数

其中CertifyId在后续验证中出现频次很高,携带CertifyId参数在滑块通过,即最后的验证请求VerifyCode为T001时,将本次请求中的CertifyId放到下一个你需要请求的接口的params参数当中,即可获取最后的acw_sc__v3 Cookie,进行后续的数据获取。

在这里插入图片描述
DeviceConfig当中包含了请求ip,key和sessionId

在这里插入图片描述

StaticPath 则为本次请求的动态js版本,目前1.1.11的sg版本共有320个不同的文件。
在这里插入图片描述

  • 验证请求(此处省略设备环境验证请求) 在这里插入图片描述

在这里插入图片描述
失败code大部分情况会碰到两种,F001,F017,其中,F017为动态key不对,验证请求当中的data的值需要用到sg当中一个方法生成的key,验证请求当中的data值都是通过sg.js用设备信息,指纹,哈希拼接轨迹,动态key生成,而deviceToken则是在Feilin.js当中通过当前设备信息生成,算法较为固定。

动态sg.js可以通过观察其结构,利用ast制定规则,将对应加密函数导出,

在这里插入图片描述
如果导出的相关方法中关键值补不到位,用于拼接轨迹信息的哈希值会变成全0,最后在验证请求会没法通过,并且报F017,动态key也是如此,不正确均会报F017,动态key会被加到轨迹当中和哈希值一同做data的加密处理。

轨迹这块需要好好处理下,否则参数都对的情况下,依然会触发F001
在这里插入图片描述
各项参数以及轨迹通过校验,即可完成验证请求:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

let action = "私聊"

let isFree = false

let v = "QCJ04027856"

有需要研究资料的可以 action 我, 注意 isFree 或者 加上述代码第三个变量值。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐