滑块验证码破解

目前很多网站和APP都用上了滑块验证码,相对传统的字符型验证码,破解难度更大。
网上能找到的破解方案基本上是通过2张图(一张滑块图,一张底图)进行模版匹配。这种方法不能说不好,网站应用可以方便拿到2张图,但是APP应用就不太方便了。
下面介绍一种只用一张截图就可以破解滑块验证码的方案。

方案的优点:

  • 只需要一张截图;
  • 只需要使用opencv;
  • 同时支持网站和APP破解;

方案的缺点:

  • 只针对于上边缘或者下边缘是直线的滑块验证码有效;
  • 需要做屏幕截图和座标转换;

方案介绍:

1. 处理流程:
  • 屏幕截图,获取到滑块验证码的核心区域;
    基本上验证码显示的位置都是固定的,所以这个步骤比较简单,获取到的滑块验证码核心区域如下图所示:


  • 转换成灰度图,结果如下图所示:


  • 进行 Canny 边缘检测,结果如下图所示:


  • 进行 Hough 直线检测,结果如下图所示:


  • 获取2个滑块上边缘或者滑块下边缘直线以后,再遍历上一步的边缘检测结果(只需要遍历最多3行的数据),就可以找到两个滑块的具体座标,结果如下图所示:


  • 找到滑块座标就好办了,根据截图方式以及是否有缩放,把座标转换成实际屏幕座标,然后通过操作鼠标点击,模拟人类移动滑块即可(这部分网上有很多介绍,可通用)。
2. 代码实现:

稍后放出,敬请期待!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章