blog mail me! feed

利用canvas处理验证码.

最近canvas很火, 一部分来源于这个: Megaupload auto-fill captcha.

觉得很有趣于是自己也做了一个去hack教务处的弱智验证码的js, 点击这里.

canvas本身还是很简单的,
将图像的BITMAP数据通过Context.getImageData读出到一个数组就可以处理了;
标准的32位数据, R G B ALPHA.

本来想试试用直方图来做, 不过发现很多数字做出来都是相同的,
图省事, 就直接把以前在C#里面的写的, 很弱智的关键点的判断的那个算法拿过来直接用了.

后来发现除了不支持canvas的IE外, Chrome和Safari也是不支持这个方法的,

var ctx = canvas.getContext("2d");
for(prop in ctx){ ... }

用上面的代码debug了下, 发现Webkit没有提供getImageData / putImageData 函数,
所以没法处理图像的raw数据了.
囧, 改天没事改成GreaseMonkey脚本.

Sin said,

February 8, 2009 @ 2:14 am

你GRE完了吧。有時間出去拍點東西。

RSS feed for comments on this post · TrackBack URI

Leave a Comment