亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

利用html5 canvas破解簡單驗證碼及getImageData接口應用

2024-08-26 00:14:55
字體:
來源:轉載
供稿:網友
敝校的教務管理系統(貌似不止我們學校用呢),一到選課時間服務器各種崩不解釋,有時為了選個課就要反復輸入驗證碼,一想到千千萬萬的大學生把時間浪費在輸入驗證碼上面,我就覺得,我有義務拯救一下人類。

搜了一下,看到這篇文章,3年前的文章了。我參考了前半部分,借助TamperMonkey這個插件,大概實現了想要的效果??梢栽赨serscript獲取這個腳本,GitHub上面也有,代碼寫得丑,求debug,求指教。
說下思路:HTML 5中的canvas有個接口getImageData可以用來從驗證碼圖像中取得像素數據。每一個像素有對應r,g,b,a四個值,r,g,b是紅綠藍三色,a是透明度。

觀察到教務管理系統的驗證碼是5個數字,字體字號大小都不變,而且雖然背景雖然有干擾,但是很明顯跟字體顏色有很大區別,所以就用了一個很粗糙的方法:我們知道,顏色越淺,rgb值越大,顏色越深,rgb值越少。于是我對每一個像素點進行判斷,rgb的和小于350(這個值是測出來的)的就是屬于字體的像素,為了方便觀察,把它的rgb值都設置為255,否則設置為0。這樣就獲得了一個黑底白字的圖片了。

復制代碼 代碼如下:www.CuoXIn.com

var ctx = canvas.getContext('2d');
ctx.drawImage(img,0,0);
var c = ctx.getImageData(0,0,img.width,img.height);
for(i=0; i<c.height; i++){
for(j=0; j<c.width; j++){
var x = (i*4)*c.width+(j*4);
var r = c.data[x];
var g = c.data[x+1];
var b = c.data[x+2];
if(r+g+b > 350){
c.data[x] = c.data[x+1] = c.data[x+2] = 0;
}
else{
c.data[x] = c.data[x+1] = c.data[x+2] = 255;
}
}
}  

然后我用畫圖工具放大圖片,觀察了一下,得出每個數字是一個12*8像素的矩形,再之后就求出每一個數字對應的像素個數,發現0和8還有6和9的像素個數是一樣的,就進行一下特判(比如正中間有像素的就肯定是8而不是0了)。然后……還是觀察一下……每個數字對應的矩陣的坐標……寫出這個函數:

復制代碼 代碼如下:www.CuoXIn.com

function getNum(imgData,x1,y1,x2,y2){
var num = 0;
for(i=y1; i<y2; i++){
for(j=x1; j<x2; j++){
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)num++;
}
}
switch(num)
{
case 56:{
j = (x1+x2)/2;
i = (y1+y2)/2;
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)
return 8;
else
return 0;
}
case 30:return 1;
case 50:return 2;
case 51:return 3;
case 48:return 4;
case 57:return 5;
case 58:{
i = y2-2;
j = x1;
var x = (i*4)*imgData.width+(j*4);
if(imgData.data[x] == 255)
return 9;
else
return 6;
}
case 37:return 7;
default:return 0;
}
}

原文用了神經網絡來判斷,準確率大大提高,我不會用,所以就沒用了……
我用這個方法獲得的驗證碼準確率也有95%以上,暫時夠用了。有空再研究一下神經網絡好了。
有需要的同學可以拿去用,Chrome瀏覽器要先裝TamperMonkey,Firefox則是GeaseMonkey,然后安裝這個腳本就ok了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品国产亚洲| 欧美性猛交xxxx乱大交蜜桃| 欧美日韩免费在线观看| 97精品国产91久久久久久| 69**夜色精品国产69乱| 色综合亚洲精品激情狠狠| 色无极亚洲影院| 久久免费国产精品1| 日韩毛片中文字幕| 久久久久久久久网站| 久久精品国产精品亚洲| 丁香五六月婷婷久久激情| 欧洲美女免费图片一区| 国产精品久久久久久久9999| 日韩欧美一区二区三区| 久热国产精品视频| 91精品国产综合久久香蕉922| 97色在线视频| 欧美激情综合色| 国产91免费观看| 久久福利网址导航| 亚洲精品永久免费| 亚洲日本中文字幕| 亚洲成年人在线| 97超碰色婷婷| 国产视频亚洲精品| 成人网欧美在线视频| 欧美自拍视频在线观看| 亚洲欧美日韩国产成人| 欧美亚洲在线播放| www国产91| 伊人伊人伊人久久| 国内精品小视频在线观看| 一本一本久久a久久精品综合小说| 91精品中文在线| 色一情一乱一区二区| 亚洲一区二区少妇| 亚洲人精品午夜在线观看| 亚洲精品美女久久久| 国产亚洲精品美女久久久| 欧美黑人xxxx| 欧美高清第一页| 欧美日韩国产区| 日韩在线观看免费| 国产午夜精品全部视频播放| 国产在线视频欧美| 成人网欧美在线视频| 日韩av成人在线| 久久欧美在线电影| 欧美日韩免费在线观看| 亚洲国产美女久久久久| 亚洲少妇中文在线| 欧美日韩国产麻豆| 中文字幕欧美精品在线| 日韩性xxxx爱| 欧美又大粗又爽又黄大片视频| 亚洲片在线观看| 成人精品视频在线| 日韩精品免费视频| 日韩精品一二三四区| 国产视频精品久久久| 社区色欧美激情 | 国产精品亚洲美女av网站| 欧美自拍视频在线观看| 国产精品视频1区| 4444欧美成人kkkk| 国产精品专区一| 亚洲成人精品久久| 91大神福利视频在线| 欧美性xxxx| 91国产美女在线观看| 国产精品入口日韩视频大尺度| 91高潮在线观看| 亚洲天堂av在线播放| 久久亚洲精品一区二区| 国产精品普通话| 久久久久久九九九| 国产精品热视频| 亚洲免费小视频| 欧美日韩国产区| 992tv成人免费影院| 亚洲国产精品网站| 国产狼人综合免费视频| 国产91精品久久久久| 欧美激情精品久久久| 国产精品白嫩初高中害羞小美女| 亚洲性夜色噜噜噜7777| 亚洲风情亚aⅴ在线发布| 欧美在线不卡区| 欧美亚洲第一页| 亚洲欧美在线一区二区| 青青在线视频一区二区三区| 久久久久久香蕉网| 亚洲精品在线91| 91精品国产综合久久香蕉的用户体验| 亚洲欧美日韩国产精品| 亚洲国产精品久久久久| 青草青草久热精品视频在线观看| 亚洲肉体裸体xxxx137| 亚洲色图校园春色| 国产成人精品免高潮在线观看| 精品久久久久久久久久国产| 精品久久在线播放| 久久99精品久久久久久琪琪| 国产成人中文字幕| 久久精品国产久精国产一老狼| 国产午夜精品免费一区二区三区| 懂色av影视一区二区三区| 午夜精品99久久免费| 51精品国产黑色丝袜高跟鞋| 色中色综合影院手机版在线观看| 91精品国产高清久久久久久91| 亚洲精品ady| 欧美激情视频网址| 九九视频这里只有精品| 91精品国产综合久久香蕉922| 国产91ⅴ在线精品免费观看| 精品国产拍在线观看| 国产精品中文在线| 日本欧美国产在线| 91亚洲精品久久久久久久久久久久| 欧美激情视频一区二区| 亚洲最大福利网| 欧日韩不卡在线视频| 成人妇女淫片aaaa视频| 欧美激情视频播放| 97超视频免费观看| 国产一区二区三区网站| 国产精品视频xxxx| 亚洲欧洲在线免费| 日韩av大片在线| 国产精品色午夜在线观看| 久久中国妇女中文字幕| 欧美在线播放视频| 欧美成人午夜激情| 亚洲成**性毛茸茸| 51久久精品夜色国产麻豆| 久久久久久久av| 亚洲成人免费网站| 国产激情999| 亚洲第一精品久久忘忧草社区| 亚州av一区二区| 亚洲黄色免费三级| 国产第一区电影| 午夜精品视频网站| 日韩av免费在线播放| 亚洲精品资源美女情侣酒店| 欧美日韩亚洲一区二| 日韩欧美国产高清91| 亚洲国产精久久久久久久| 97不卡在线视频| 亚洲国产成人爱av在线播放| 日韩精品视频在线观看免费| 久久国产天堂福利天堂| 国产精品一二三视频| 国产精品三级美女白浆呻吟| 这里只有精品视频在线| 久久久国产精品x99av| 久久久久久久久国产| 国产精品久久久久一区二区| 69av成年福利视频| 欧美视频免费在线| 成人免费视频网址| 欧美在线性爱视频|