吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 819|回复: 2
上一主题 下一主题
收起左侧

[Web逆向] SM双图滑块验证码逆向分析

  [复制链接]
跳转到指定楼层
楼主
xxob8 发表于 2026-5-26 17:39 回帖奖励
本帖最后由 xxob8 于 2026-6-1 09:47 编辑

以下内容主要作为学习使用,如有侵权请联系删除!


网址:aHR0cHM6Ly93d3cuaXNodW1laS5jb20vdHJpYWwvY2FwdGNoYS5odG1s


目前学习接触到的YD、SM验证码都是分2个请求,一个获取验证码图片和ID,另一个对滑动距离、轨迹、滑动时间等进行校验。


1.请求1的步骤:
首先刷新查看网络


发现请求载荷没有校验,响应中的重点是bg、fg和rid,注意响应的格式不是json格式,要先处理。

2.滑动2次对比验证参数




发现重点是wi、gq和vs,callback可以自行构造


启动器打断点跟栈到倒数第二个




发现参数在_0x3943fd这个变量里已经有了


尝试菊部搜索这个变量,在上面发现有1个定义的位置




[Asm] 纯文本查看 复制代码
_0x6b3386[_0x35d8ab[_0x38467c(0x7d6)]][_0x38467c(0x6ad)]((_0x463963 = {
 'organization': _0x238258
},
(0x95b * -0x1 + 0x1ad + 0x7ae,_0xaced0['default'])(_0x463963, 'ww', this[_0x38467c(0x17f)](_0x162dbd, _0x35d8ab[_0x38467c(0x32a)])),
(-0x9c5 + 0xf3b + 0x1d2 * -0x3,_0xaced0[_0x35d8ab['NffXw']])(_0x463963, 'bb', this[_0x38467c(0x17f)](_0x177bfb, _0x35d8ab['UXWFc'])),
(0xaa5 * -0x2 + 0x1 * -0x12ad + -0xd * -0x313,_0xaced0[_0x35d8ab['NffXw']])(_0x463963, 'vj', this[_0x38467c(0x17f)](_0x2559f8, _0x35d8ab[_0x38467c(0x9d5)])),
(-0x3 * 0x459 + -0x180d * 0x1 + 0x2518,_0xaced0['default'])(_0x463963, 'hq', this[_0x38467c(0x17f)](_0x2adc2c, '42ccd3c8')),
(-0x6a3 * -0x2 + -0x2 * -0x95 + -0xe70,_0xaced0[_0x35d8ab[_0x38467c(0x7d6)]])(_0x463963, _0x35d8ab[_0x38467c(0x14c)], _0x4c84a0),
(0x12b + 0x25da + 0x593 * -0x7,_0xaced0[_0x35d8ab[_0x38467c(0x7d6)]])(_0x463963, 'rversion', _0x40c9e9),
(0x1 * -0x24cd + 0x201 + 0x22cc,_0xaced0[_0x35d8ab[_0x38467c(0x7d6)]])(_0x463963, _0x35d8ab[_0x38467c(0x9ad)], _0xffbfc0),
(-0x346 + 0x2292 + -0x1f4c,_0xaced0[_0x38467c(0x915)])(_0x463963, 'protocol', _0x38467c(0x1fe)),
(-0xd0b + 0x2 * -0x12b9 + 0x327d,_0xaced0[_0x38467c(0x915)])(_0x463963, _0x35d8ab[_0x38467c(0x3fe)], _0x5801c3),_0x463963), _0x593816);



可以看到一些没有混淆的变量,但是其中没有我们需要的,按照调用方式查看这段代码里确实没有,那么再往前找


发现getMouseAction这个变量名很可能是,鼠标放上去,发现需要的变量就在这里,那么打断点,重新触发,进去看看


控制流+关键词slide+需要的变量名称,说明是不同验证码走的不同流程,在slide和auto_slide都打上断点,最终断在slide里

那么前3行代码就是生成的位置,一个个看下解密后的参数,发现

i参数是距离校验、gq是轨迹校验、vs是滑动时间校验


跟进getEncryptContent看看代码



控制流最终返回_0x4785d3,在5、8两个流程处下断点





发现熟悉的字眼DES,分析发现是标准算法,可用以下代码:

[Asm] 纯文本查看 复制代码
var CryptoJS = require("crypto-js");
function Des(word, key) {
    var key_ = CryptoJS.enc.Utf8.parse(key);
    var srcs = CryptoJS.enc.Utf8.parse(word);
    var encrypted = CryptoJS.DES.encrypt(srcs, key_, {
        mode: CryptoJS.mode.ECB,
        padding: CryptoJS.pad.ZeroPadding
    });
    return encrypted.toString();
}



注意传入的word要为字符串格式


滑动距离用4d不太准,我用的是元识AI进行识别,后台可以直接预览,而且现在刚好有活动,新人注册得50块额度,直接平替4d了
轨迹的话直接扔几组给ai,生成的又快又好用
滑动时间我是直接取轨迹的最后一组里的时间+50,也算是随机了


完结……

免费评分

参与人数 3威望 +1 吾爱币 +22 热心值 +3 收起 理由
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
rsds0duck + 1 + 1 我很赞同!想到自己刚刚学习JS逆向时候搞验证码滑块了
紫月菌 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
smilesmile 发表于 2026-6-3 00:15
this.data.key  怎么来的哇  ?
3#
smilesmile 发表于 2026-6-3 00:47
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-7-13 10:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表