西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)Delphi → Discuz 驗證碼圖片識別

Discuz 驗證碼圖片識別

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2012/9/5 11:26:24字體大。A-A+

作者:佚名點擊:514次評論:0次標(biāo)簽: Discuz

  • 類型:源碼相關(guān)大。1.9M語言:中文 評分:8.0
  • 標(biāo)簽:
立即下載

Crossday Discuz! Board(簡稱 Discuz!)是北京康盛新創(chuàng)科技有限責(zé)任公司推出的一套通用的社區(qū)論壇軟件系統(tǒng)

官方網(wǎng)站:

http://www.discuz.net/

中國內(nèi)有相當(dāng)數(shù)量的論壇是采用的 Discuz 的程序,一般在注冊,發(fā)帖的時候都會有圖片的驗證碼,如果我們要通過編寫程序來批量注冊論壇賬號、批量發(fā)帖那就必須得用到這個驗證碼的識別功能。

這編文章只是告訴大家一個原理,至于如何用代碼去實現(xiàn)就需要大家自已去動手了。

Gif動畫驗證碼破解



1、分析Gif動畫,得到總幀數(shù),和每幀的相關(guān)信息

2、取出延遲時間最長的那一幀

test_pro0" alt="" src="/up/2012-9/2012090511294879164.png" width="160" height="60"/>

3、用第一行的每個像素顏色來去除背景(要限制去除范圍,不然可能去掉文字)

4、使用Closing降噪、閥值處理得到比較整潔的黑白驗證碼


5、利用字符間空白分割字符

          

6、提取樣例特征進行機器學(xué)習(xí)

7、樣例200個的情況下,識別率可以達到>80%,如果繼續(xù)學(xué)習(xí),識別率可以更高。


 

 

 

復(fù)雜背景的驗證碼破解

首先我們要去除它的背景,對于這樣稍微復(fù)雜的背景,用過去的方法很難做到,上圖的例子還不是很明顯,我發(fā)現(xiàn)很多圖片背景色和字母色近似,而且字母顏色是不斷變化的,背景也是不斷變化的

那我初始的想法是找到圖片中使用顏色最多的方法,于是我們用HSL表示各點顏色,接著進行統(tǒng)計,得到最大的幾個峰值,這里便是圖片中幾個最豐富的顏色的L值得累加值

其余的都可以認為是噪音,我們對每個峰值進行分割,得到如下圖片

你看這樣就把單個顏色圖片分割出來了,接下來就是找到圖片中除去黑色和白色后的圖片

然后進行灰化處理,閥值處理,降噪,得到

接著根據(jù)邊界檢測出來的最左側(cè)x位置,來排序字母順序

接下來的事情就輕車熟路了,把圖片轉(zhuǎn)成標(biāo)準(zhǔn)模板,通過少量學(xué)習(xí)就達到了95%以上的識別率

c:15 j:8 8:7 t:9 9:4 x:7 4:6 2:4 h:7 f:8 e:18 b:5 y:3 k:4 w:3 g:5 3:5 7:6 r:2 m:3 q:4 v:2 p:3 6:2
以上數(shù)據(jù)表示 c學(xué)習(xí)15次 j學(xué)習(xí)8次…

只要字符不粘連,大部分驗證碼干擾技術(shù)都是可以有辦法,所以為什么google驗證碼看起來很簡單,但是沒有人能夠很好的破解它得原因。

補充,
rise在留言中發(fā)現(xiàn)有一些字符加入雜點的問題,由于這種驗證碼不是很普遍,稍微做了研究

CY3E 這個圖片3字中有雜點,其他沒有,按照文章中介紹的辦法,怎么知道這個3不是像其他顏色雜點一樣的圖片呢?

我覺得需要加入一個步驟,就是對每次過濾顏色生成出來的圖片,進行填充
找到3的雜點原圖:

然后我們進行算法填充

這個圖片與其他全部是雜點的圖片之間的差別進行過濾,我考慮可以通過以下方法:
1、連貫點的寬度
2、連貫點的個數(shù)
這樣剩下的就只剩下CY3E的過濾后的圖片

至于字符傾斜的問題,我覺得完全可以在機器學(xué)習(xí)過程中,我們自己旋轉(zhuǎn)正在學(xué)習(xí)的圖片一定角度,例如從-10到+10度,只不過這樣的學(xué)習(xí)庫會大一些,但是就10個數(shù)字的驗證碼來說,這點性能損失應(yīng)該可以忽略不計。




 

 

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)