`
jsczxy2
  • 浏览: 1275626 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

破解验证码相关:用imagemagick和tesseract-ocr破解简单验证码

    博客分类:
  • java
阅读更多

本文源自:http://hooopo.iteye.com/blog/993538

工具:imagemagick + tesseract-ocr

 

Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。

准备工作:

1.安装tesseract-ocr

Java代码  收藏代码
  1. sudo apt-get install tesseract  

2.安装imagemagick

Java代码  收藏代码
  1. sudo apt-get install imagemagick  

3.安装rmagick

Java代码  收藏代码
  1. sudo apt-get remove --purge librmagick-ruby-doc librmagick-ruby1.8  
  2. sudo apt-get install libmagick9-dev ruby1.8-dev  
  3. sudo gem install rmagick  

先试一个简单的:

Ruby代码  收藏代码
  1. require 'rubygems'  
  2. require 'rtesseract'  
  3. img = RTesseract.new("tmp/test.jpg")  
  4. img.to_s.sub(/\s+$/, ""# => "3R8Z"   

很成功,但这个太简单了。一般破解复杂点的验证码处理步骤是先用imagemagick灰度化,灰度反转,提高对比度,二值化等。然后再用ocr去识别。ocr识别黑白图片效果比较好些。

这个是人民网的验证码:

Ruby代码  收藏代码
  1. img = MiniMagick::Image.new("tmp/people.jpg")   
  2. img.colorspace("GRAY")#灰度化  
  3. image = RTesseract.new(img.path)  
  4. image.to_s.sub(/\s+$/, ""# => "254369"   

 这个还是简单,再复杂一点的,这个是4399.com的验证码:

有黑色边框,有背景色,文字稍微扭曲。

 

Ruby代码  收藏代码
  1. img = MiniMagick::Image.new("tmp/4399.jpg")  
  2. img.crop("#{img[:width] - 2}x#{img[:height] - 2}+1+1") #去掉边框(上下左右各1像素)  
  3. img.colorspace("GRAY"#灰度化  
  4. img.monochrome #二值化  
  5. image = RTesseract.new(img.path) #ocr识别  
  6. image.to_s.sub(/\s+$/, ""#=> "5692"   

 

像上面这样简单的识别率几乎能达到80%以上,扭曲太严重的识别率就很低了。有轻微噪点的就得自己写去噪算法了。。

 

还有一些验证码看起来很变态但是是纸老虎。像当当的。刷新了几次发现结果在1-20之间,选中一个数暴力破解每次也有1/20正确的概率。

还有139的:。答案就12种1-4A-Da-d。而且不区分大小写。选中一个字母每次有1/6的概率命中。

 

ps:研究破解验证码不是为了搞破坏。请勿跨省追捕。

 

当然还有人工ocr:优优云打码等 这些是付费的居多

分享到:
评论

相关推荐

    tesseract-ocr-setup-3.05.01dev-20170510.exe.zip

    Tesseract不仅仅是一个独立的OCR工具,还可以与其他软件结合使用,如图像处理工具(如ImageMagick)、编程语言(如Python、Java)等,构建更复杂的文本识别系统。例如,通过Python的pytesseract库,可以方便地将OCR...

    Linux下安装tesseract-ocr教程及相关资源包

    本教程将详细讲解如何在Linux环境下安装和使用Tesseract OCR,并提供相关资源包。 首先,我们需要确保系统已经更新到最新版本,以获取最新的软件包和依赖项。打开终端并输入以下命令: ```bash sudo apt update ...

    tesseract-ocr.rar

    在提供的压缩包文件中,我们有两个版本的Tesseract OCR安装程序:tesseract-ocr-setup-3.05.02.exe 和 tesseract-ocr-setup-3.05.01-20170602.exe。这些是用于在Windows操作系统上安装Tesseract OCR的执行文件。 **...

    suse 配置 tesseract-ocr (包含软件包)

    本文将详细介绍在SUSE系统上安装和配置Tesseract OCR的过程,以及可能遇到的问题和解决方案。 ### 1. 安装Tesseract OCR 首先,确保你的SUSE系统是最新的,通过运行以下命令来更新系统: ```bash sudo zypper ...

    tesseract-3.04.00及中英文语言包

    本文主要围绕“tesseract-3.04.00及中英文语言包”这一主题,深入探讨其在Ubuntu 14.04操作系统下的安装、配置和使用。 1. **Tesseract 3.04.00概述** Tesseract 3.04.00是Tesseract OCR的一个稳定版本,发布于...

    pdfimagetotext:使用 scantailor、tesseract OCR、pdftk 和 Imagemagick 将 Image-PDF 转换为文本的脚本外壳

    apt-get install tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng tesseract-ocr-fra tesseract-ocr-equ imagemagick scantailor pdftk 注意:可能需要在 wheezy 中启用 BACKPORTS 才能拥有最新的 scantailo

    ImageMagick-6.8.8-10.tar.gz

    安装完成后,你就可以通过命令行工具使用ImageMagick了,例如用`convert`命令进行图像转换: ``` convert input.jpg output.png ``` 此外,开发人员可以利用提供的API在自己的程序中调用ImageMagick的功能,实现更...

    ImageMagick-6.9.3-7-Q16-x86-dll

    ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、合成二值、灰度和彩色图像。这个软件包"ImageMagick-6.9.3-7-Q16-x86-dll"是针对x86架构的一个特定版本,其版本号为6.9.3-7,并且包含...

    ImageMagick-7.1.1-21-Q16-x86-dll.exe

    总之,"ImageMagick-7.1.1-21-Q16-x86-dll.exe"是一个专为32位Windows系统设计的图像处理工具,具备高色彩精度和灵活性,可用于多种图像处理任务,无论是简单的转换还是复杂的图像算法,都是开发人员和图像爱好者的...

    tesseract-ocr-3.02.02-linux

    **Tesseract OCR 3.02.02 Linux 知识点详解** Tesseract OCR(Optical Character Recognition,光学字符识别)是一款强大的开源OCR引擎,由HP开发,后来由谷歌维护。Tesseract 3.02.02 版本是该软件的一个历史版本...

    ImageMagick-7-Q16-x64-dll完整安装包

    ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、组合和转换位图图像。这个“ImageMagick-7-Q16-x64-dll完整安装包”显然是ImageMagick的一个特定版本,适用于64位系统,并且包含动态...

    ImageMagick-7.1.0-23-Q16-HDRI-x64-dll

    ImageMagick-7.1.0-23-Q16-HDRI-x64-dll

    linux相关tesseract资源

    本资源包包含了处理图片以及安装和使用Tesseract所需的相关资源,确保用户能够在Linux环境中顺利进行OCR操作。以下将详细介绍Tesseract的使用、依赖安装以及相关步骤。 1. **Tesseract介绍** Tesseract是一个高度...

    ImageMagick-6.9.2-1-Q16-x64-dll.exe

    ImageMagick-6.9.2-1-Q16-x64-dll.exe

    ImageMagick-7.0.1-4-Q16-x64-dll

    ImageMagick是一款强大的开源图像处理工具,用于在各种操作系统上创建、编辑、组合和转换光栅及矢量图像。这个特定的版本,"ImageMagick-7.0.1-4-Q16-x64-dll",是为64位操作系统设计的,因此它只能在64位版本的...

    ImageMagick-7.0.11-0.tar.gz

    ImageMagick的核心是其内部使用的多种算法,这些算法负责图像的解析、编码、解码和渲染。例如,它采用了高效的色彩管理和色彩空间转换算法,确保了图像在不同格式间转换时的质量。同时,ImageMagick也支持透明度处理...

    ImageMagick-6.9.3-7-vc11-x64.zip

    `LICENSE`文件通常包含软件的授权信息,对于ImageMagick来说,这可能是GPL、MIT或BSD等开源许可证,允许用户免费使用、修改和分发源代码。阅读此文件是了解软件使用条款的重要步骤。 `bin`目录包含可执行文件,这些...

    ImageMagick-6.9.3-7-Q16-x64-dll.exe dll版本,q16是十六位

    ImageMagick-6.9.3-7-Q16-x64-dll.exe ,又要其他版本的可以私信我,我帮你找找看

    ImageMagick-6.8.9-6-Q16-x86-dll

    ImageMagick-6.8.9-6-Q16-x86-dll

    ImageMagick-7.0.7-11-vc15-x64.zip

    3. **include**:这个目录包含ImageMagick的头文件,它们是C和C++编程时用来链接和使用ImageMagick库所必需的。如果你打算在C或C++程序中直接调用ImageMagick的API,就需要这些头文件。 4. **lib**:这个目录存储了...

Global site tag (gtag.js) - Google Analytics