西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发其它知识 → 实战破解百度贴吧验证码

实战破解百度贴吧验证码

相关软件相关文章发表评论 来源:百度搜索时间:2012/9/5 11:37:47字体大小:A-A+

作者:西西点击:48次评论:0次标签: 验证码

  • 类型:浏览辅助大小:38.5M语言:中文 评分:10.0
  • 标签:
立即下载

百度贴吧的验证码如下图所示

http://tieba.baidu.com/f?kw=Discuz&ie=utf-8&fr=wwwt#sub

验证码地址:

刷新一下就会变成新的字符。

捣鼓了一两天的时间,对于手动分割好的单个字符的识别准确率倒是不低,不过始终没能很好的解决粘连字符的分割问题,后来就放下了。

这两天一同学让帮忙破解一网站的验证码,瞅了下是比较传统的数字验证码,而且无粘连、扭曲、倾斜,于是就开始着手破解了。

      要识别的验证码如下图所示:

                            

从上面的验证码可以看出,破解的工作无需考虑字符的分割问题,而只需将精力花在背景的去除上。乍一看,每个字符周围的背景杂点都跟字符的颜色很接近,看上去不太容易过滤调背景杂点而只保留字符本身,实际上做起来也不容易。起初考虑过几种阈值化处理操作,可处理后的结果一点也不理想。几次尝试失败之后,考虑到此种验证码主要是在前景与背景的颜色上做文章,于是我打算分析验证码的颜色分布直方图,看能不能找出突破口。由于每个字符周围的杂点颜色跟该字符的颜色相关,而与其他字符的颜色无关,所以我接下来的颜色直方图的分析都只是针对分割后的单个字符。

      就拿举例吧,分割后的每个字符所对应的颜色直方图如下图所示:

   

↓↓                                            

                                                   

 ↓↓

↓↓

↓↓

画出每个字符的颜色分布直方图之后,一眼便看出了验证码背后存在某种规律。进一步分析可得知,直方图左侧孤立的小块区域正是字符本身的颜色,而右侧的大块区域则全是背景杂色,因此只要我们得出直方图左侧块的颜色范围,便可去除非字符本身的杂点,至于这个范围的获取想必不会有人会认为是难事。

去除背景并进行图像二值化后就会得到下图所示的字符图片:

 ->          ->           ->          ->

接下来要做的事情便是识别这些无背景杂点的二值图像字符,方法有很多,我用的是机器学习的方法,背景去除成功的情况下的识别率基本接近于100%。

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    第 1 楼 广东深圳电信 网友 客人 发表于: 2013/1/15 17:47:59
    像百度这种验证码就是想防止分割,所以千万别分割,分割就上当了!

    支持( 0 ) 盖楼(回复)

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)