滑塊驗證碼破解

目前很多網站和APP都用上了滑塊驗證碼,相對傳統的字符型驗證碼,破解難度更大。
網上能找到的破解方案基本上是通過2張圖(一張滑塊圖,一張底圖)進行模版匹配。這種方法不能說不好,網站應用可以方便拿到2張圖,但是APP應用就不太方便了。
下面介紹一種只用一張截圖就可以破解滑塊驗證碼的方案。

方案的優點:

  • 只需要一張截圖;
  • 只需要使用opencv;
  • 同時支持網站和APP破解;

方案的缺點:

  • 只針對於上邊緣或者下邊緣是直線的滑塊驗證碼有效;
  • 需要做屏幕截圖和座標轉換;

方案介紹:

1. 處理流程:
  • 屏幕截圖,獲取到滑塊驗證碼的核心區域;
    基本上驗證碼顯示的位置都是固定的,所以這個步驟比較簡單,獲取到的滑塊驗證碼核心區域如下圖所示:


  • 轉換成灰度圖,結果如下圖所示:


  • 進行 Canny 邊緣檢測,結果如下圖所示:


  • 進行 Hough 直線檢測,結果如下圖所示:


  • 獲取2個滑塊上邊緣或者滑塊下邊緣直線以後,再遍歷上一步的邊緣檢測結果(只需要遍歷最多3行的數據),就可以找到兩個滑塊的具體座標,結果如下圖所示:


  • 找到滑塊座標就好辦了,根據截圖方式以及是否有縮放,把座標轉換成實際屏幕座標,然後通過操作鼠標點擊,模擬人類移動滑塊即可(這部分網上有很多介紹,可通用)。
2. 代碼實現:

稍後放出,敬請期待!

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