
这是一个用来研究图形验证码的开源项目,重点不是单纯把滑块拖过去,而是完整观察一次验证码验证过程到底发生了什么。
项目地址:github项目目前支持四类验证码:
- 普通滑块
- 拼图滑块
- 滑动还原
- 文字点选
整个流程包括题目生成、图像识别、目标定位、鼠标轨迹生成、浏览器操作,以及服务端校验的本地复刻。
识别部分没有只依赖一个算法,而是同时使用模板匹配、颜色分析、轮廓检测、像素差分、列投影等多种方法,再根据证据进行投票。某个算法单独判断出来的结果,不会直接作为最终答案。
轨迹部分使用贝塞尔曲线、非匀速时间片、轻微抖动、位置漂移、末段停顿和过冲回调等方式,尽量还原真实用户的操作过程。同时加入了时间、轨迹点数量、单步距离等硬性限制,避免生成明显不合理的轨迹。
项目还提供了一个本地 mock 验证环境,可以自己生成题目并进行校验,不需要依赖线上验证码。前端使用 Vue 3,能够实时查看识别结果、算法投票、鼠标轨迹和任务执行过程。
这个项目更适合作为以下内容的研究样例:
- 图形验证码识别
- 计算机视觉算法对比
- 浏览器自动化
- 鼠标行为分析
- 验证码和风控系统测试
- 防御方的安全评估
项目中的真实站点图片、页面存档、目标站点前端脚本和字体文件没有提交到仓库,只保留了必要的分析文档、代码、模型权重和可复跑的实验脚本。
项目定位是研究和防御,不建议用于未授权的线上系统。核心目的不是教人绕过验证码,而是帮助开发者理解验证码识别和行为风控中的实际问题,并为防御方提供可验证的测试参考。
- 收藏支持 1反对打赏
研究下,之前有研究过腾讯的点图,不怎么完美