介绍
提示:文章仅供交流学习,严禁用于非法用途,如有不当可联系本人删除
最近某盾新推出了,滑块拼图验证码,如下图所示,这篇文章介绍怎么识别滑块距离相关。
参数attrs
通过GET请求获取的参数attrs, 决定了旋转方向、角度等,解完混淆大致代码如下
为了方便 下面说到小图 即指front 图片
当attrs >0 , 小图front 会先偏移,再以右下点为中心旋转,<0 则以右上点为中心旋转。
通过JS逆向 分析,得到请求参数 需要知道小图向右偏移的距离
识别缺口方案
使用目标检测 +滑块经过的曲线位置 + 置信度比较
目标检测 ,先识别大图中的小图位置,使用yolo训练目标检测模型
滑块经过的曲线位置计算
1、拿到小图中心点
2、移动最下方滑块,计算得到小图偏移量+旋转角度,得到移动滑块之后在大图的轨迹
3、计算轨迹 和目标检测中心点距离
4、如果 轨迹 距离 目标中心点距离 阈值都很小,那么通过旋转角度 计算旋转后的小图 和目标检测图片的置信度,取置信度高的
移动轨迹测试图:
效果
目前准确率80-90, 准确率待进一步提升,目前目标检测样本 大概使用了300张图片, 理论上目标检测效果越好,准确率越高