三、常见的验证码的破解分析
以http://libcaca.zoy.org/wiki/PWNtcha这里PWNtcha项目中的资料为例分析,各种验证码的破解。(方法很多,仅仅从我个人乍看之下觉得可行的方法来分析)
1)Authimage
使用的反破解技巧:
1.不连续的点组成字符
2.有一定程度的倾斜
设计不好的地方:
1.通过纵横的直方图投影,可以找到字幕区域
2.通过Hough变换,适当的参数,可以找到近似的横线,可以做倾斜矫正
3.字符串的倾斜式面内的,没有太多的破解难度
4.字母宽度一定,大小一定
2)Clubic
使用的反破解技巧:
1.字符是手写体
设计不好的地方:
1.检测切割阶段没有任何技术含量,属于设计的比较丑的
2.只有数字,而且手写体变化不大
3.表面看起来对识别阶段有难度,仔细分析,发现几乎不用任何高级的训练识别算法,就
固定的招某些像素点是否有色彩就够了
3)linuxfr.org
使用的反破解技巧:
1.背景颜色块
2.前景的横线或矩形
设计不好的地方:
1.背景色是单一色块,有形状,通过Region-Growth区域增长来很容易把背景给去掉
2.前景色是标准的线条,色彩单一
3.字母无粘连
4.都是印刷体
4)Ourcolony
使用的反破解技巧:
1.设计的太低级,不屑于去评价
设计不好的地方:
1.这种验证码,设计的最丑,但还是能把菜鸟搞定,毕竟学计算机的少,搞这个破解的更少,正所谓隔行如隔山
5)LiveJournal
使用的反破解技巧:
1.这个设计略微好点,使用个随机噪音,而且作为前景
2.字母位置粗细都有变化
设计不好的地方:
1.字母没有粘连
2.噪音类型单一
3.通过在X轴的直方图投影,能准确分割字幕
4.然后在Y周作直方图投影,能准确定位高度
5.识别阶段,都是印刷体,简单地很