-
-
[原创] 某音短视频App滑块分享
-
发表于:
2025-10-31 16:57
1059
-
某音短视频App滑块分享
前言
以下文章仅供学习参考,切勿用于违法乱纪。如有侵权,请联系我火速删除。简单说下dy滑块的更新点,目前最新版本是H5_SDK_VERSION = 3.5.74,依然是两次请求:*/captcha/get */captcha/verify重要的是后者。captchaBody算法 更新了SHA512哈希的盐值,加密完成后对该字节数组进行移位操作,相关的有一个swap_num_list: [0, 3, 2, 1] 这个插桩就可以直接看到,时机在滑动验证码后。我们对captchaBody密文进行解密看看里面提交了哪些参数?这里就看下图片,具体细节不方便展示了。

经过测试,服务端主要检测下列字段:
id
*/captcha/get返回解析而来
Goq
滑块轨迹
BX5R6zmP
其他行为轨迹
env
c k m
轨迹部分由深度学习模型检验是否合理真人滑动轨迹特征。
ckm数组加载顺序
detail相关
k 点击发送验证码 - /get请求发送前 生成
id相关
c点击刷新验证码 - /get请求发送后 生成
m点击刷新验证码 - /get请求发送后 生成
k -> c / m(id变化)
按照数组加载顺序依次分析核心加载流程。
k分析
'k': [3, 2, 0] 长度是3其他没有啥特征。 来源和detail相关 经过哈希算法得到局部hex值计算得到数组,然后通过切片操作得到k数组,长度固定为3,在k数组中切片获得新的数组,这个和后续的m数组生成相关。

c分析
'c': [1, 2, 8, 124, 2] 长度是5其他没有啥特征。 刷新验证码,更新id,c数组也会跟着变化。多次调试发下124, 2固定不变,暂时不用分析。如果固定验证码前3位元素也会固定1,2,8。1,2的来源比较容易,分别统计下指定元素出现频次。8的来源是特殊字符的频次次数与1, 2以及一个固定常数经过简单计算出来的,算术计算不多也就2个。
m分析
'm': ['1', 'a', '5'] 长度是5 元素是字符其他没有啥特征。m的首先和k的子数组有关,然后是id,log_id相关。该算法会遍历k的子数组有双分支的流程,不同分支不同的计算,涉及算术操作。m索引为1的位置是id固定索引的值,直接从id中读取来的,枚举刷新验证码对比id和m索引为1的元素即可推断固定索引。
以上即是比较重要的点,每次刷新验证码 c,m的值都会变化,希望对读者有说帮助!

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!