最近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脚本.