使用python及工具包进行简单的验证码识别

相信大家利用 Python 写的爬虫应该遇到过要输入验证码的尴尬局面,又或者写了个自动填充表单的小程序,结果就卡在了验证码上。

在ctf中有⼀一些题⽬目,本身有弱验证码识别绕过,那么我们怎么解决呢? 这⾥里里⽤用题⽬目
http://lab1.xseclab.com/vcode7_f7947d56f22133dbc85dda4f28530268/ 做实例例讲解

首先[Python] 纯文本查看 复制代码

?

 

发现脚本运⾏行行报错,然后开始装tesseract-OCR 准备⼯工作: 编译环境: gcc gcc-c++ make(这个环境⼀一般机器器都具备,可以忽略略)

[Python] 纯文本查看 复制代码

?

 

依赖的包: autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel leptonica(1.67以上) autoconf automake libtool libjpeg-devel libpng-devel libtiff-devel zlib-devel 可以通过yum安装:

[Python] 纯文本查看 复制代码

?

 

leptonica 需要源码编译安装参考资料料:

http://paramountideas.com/tesseract-ocr-30-and-leptonica-installation-centos-55-and-opensuse-113 http://www.leptonica.org/source/README.html 下载leptonica 包: http://www.leptonica.org/source/leptonica-1.68.tar.gz 解压后切换到leptonica-1.68 根⽬目录

[AppleScript] 纯文本查看 复制代码

?

 

tesseract安装:

依赖安装完毕后开始安装tesseract

下载tesseract-3.01 安装包: http://tesseract-ocr.googlecode.com/files/ tesseract-3.01.tar.gz

解压后切换到tesseract-3.01 根⽬目录

(如果在make时遇到类似strngs.h:1: error: stray ‘\357’ in program 的错误,请将

tesseract-3.01/ccutil/strngs.h

⽂文件转为ANSI 编码保存,再重新编译)

[Python] 纯文本查看 复制代码

?

 

tesseract英⽂文语⾔言包安装:

载tesseract-3.01 英⽂文语⾔言包: http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.01.eng.tar.gz 解压后将tesseract-ocr/tessdata 下的所有⽂文件全部拷⻉贝到/usr/local/share/tessdata 下 安装完毕. 测试⼀一下: 切换到解压后的tesseract-3.01 根⽬目录(这个⽬目录下有⼀一个⾃自带的phototest.tif 可以做测试⽤用) 命令⾏行行:

[Python] 纯文本查看 复制代码

?

 

输出:

[AppleScript] 纯文本查看 复制代码

?

 

这时应该在当前⽬目录⽣生成⼀一个phototest.txt ⽂文本⽂文件,内容就是phototest.tif 显示的⽂文字. 装完了了之后开始跑脚本

运⾏,等待得到结果

posted @ 2017-07-26 17:46  i春秋  阅读(1181)  评论(0编辑  收藏  举报