数美滑块逆向分析

本篇文章仅用于交流与学习,严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!如有侵权,请联系作者本人进行删除。

感谢关注!您的关注和点赞就是我的动力

1.逆向目标

aHR0cHM6Ly93d3cuaXNodW1laS5jb20vdHJpYWwvY2FwdGNoYS5odG1s

2.逆向分析

先看发包接口,不需要逆向,把图片下载下来识别缺口距离(最后需要除以2),把返回的rid保存下来,后面的验证接口需要

网页上的图片进行了缩放

python 复制代码
def verify():
    det=ddddocr.DdddOcr(det=False,ocr=False)
    with open("bg.png", "rb") as f:
        bg_img = f.read()
    with open("fg.png", "rb") as f:
        slice_img = f.read()
    res = det.slide_match(slice_img, bg_img)
    return round(res["target"][0]/2)

看验证接口,有三个参数需要逆向,rid是上个接口返回的,

打断点跟栈,到这里的时候参数已经生成,继续往上跟

到这里,找_0x593816的生成位置

在这里

进入方法内部后,找到了目标参数的加密位置,把这三行手动解一下混淆,

解完后如下所示,wi的入参需要滑块滑动的距离,gq的入参需要滑动轨迹,vs的入参需要滑动时间,自己造一个就行,现在主要看getEncryptContent这个方法,

进入方法内,发现是一堆控制流,自己手动解一下混淆再简化一下,现在主要是找_0x1bc64e和_0x504466这两个方法,把这两个方法扣下来,该缺的东西再补上就行了

轨迹代码如下

python 复制代码
def generate_track(target_distance: int):
    """
    【唯一入参】滑动的目标距离(整数,如 90、215、109)
    【固定规则】轨迹点数:15~18个(随机)
    【轨迹格式】[x偏移, y偏移, 时间戳(毫秒)]
    """
    # 1. 严格控制点数:随机15-18个点
    total_points = random.randint(20, 22)
    track = []
    x = 0
    timestamp = 0
    mid_point = total_points // 2  # 加速/减速分界点

    # 2. 生成精准步长(总和=目标距离,前快后慢)
    steps = []
    for i in range(total_points):
        # 前半段加速(大步长),后半段减速(小步长)
        if i < mid_point:
            step = random.randint(3, 6)
        else:
            step = random.randint(1, 4)
        steps.append(step)

    # 调整步长总和,确保刚好等于目标距离
    sum_steps = sum(steps)
    diff = target_distance - sum_steps
    if diff != 0:
        steps[-1] += diff  # 最后一个点补齐距离

    # 3. 生成完整轨迹
    for step in steps:
        x += step
        # Y轴:真人滑动微小波动(-2 ~ 2)
        y = random.randint(-2, 2)
        # 时间戳:每点递增80-120ms
        timestamp += random.randint(99, 102)
        track.append([x, y, timestamp])

    return track

3.逆向结果

最后返回的结果是pass就是成功通过了

相关推荐
可乐鸡翅yeah_5 分钟前
HLS流媒体首屏起播慢深度优化,从分片、索引、播放器全链路调优
开发语言·javascript·ecmascript·m3u8·m3u8在线
步行cgn15 分钟前
Spring 注入 Properties 详解
java·python·spring
shirsl25 分钟前
算法 Day3-队列 / deque + 链表
数据结构·python·算法·链表
开开心心就好28 分钟前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别
名字还没想好☜33 分钟前
Python 的 __call__ 实战:让实例像函数一样被调用,做带状态计数器、缓存器与可配置策略
开发语言·后端·python·缓存·编程语言
cpolar技术支持41 分钟前
AI Agent 跑半小时就忘目标?用检查点与任务账本做可恢复长任务,cpolar 分享只读时间线
python·sqlite·cpolar·ai agent·任务恢复
杨利杰YJlio41 分钟前
ITSK PE 26U5 测试版解读:组件完善、VMD 修复与服务器支持边界
前端·javascript·后端
夏幻灵42 分钟前
Vue / React 列表渲染中的 key:为什么没有 key,Checkbox 可能“对号跑错”?
前端·javascript·vue.js
YWL42 分钟前
vue-time-axis-plus进阶:双进度条+跨空白续播+播放指针,打造专业级监控回放体验
前端·javascript·vue·时间轴
张小姐的猫1 小时前
【AI大模型接入SDK】 —— SQLite上手
linux·开发语言·c++·人工智能·python·log4j