伏宸验证码识别工具使用说明

【验证码配置工具】

 

右边绘图区域获得焦点的时候WASD键可以以像素位单位的移动鼠标 放大镜会跟随鼠标移动显示对应细节下方图该像素点ARGB

 

上图为验证码配置工具【参数设置】页面中的数据都比较容易理解

[干扰处理]里面有个[添加]按钮是用来输入表达式的

 

因为在去干扰时候除了验证码和背景本身之外还有其他的需要处理 比如之前做过百度推广的验证码识别 他有干扰线条而线条颜色统一而且都在文字下方 所以此时我可以添加这样的表达式来 把指定颜色直接当作背景处理 这样二值化后干扰线条直接就被忽略掉了

以下面的验证码为案例

 

假设二值化的阀值采用默认值(就当作二值化也无法解决后面干扰线条的时候)

首先分析 上面文字基本上是黑色的 但是线条颜色却相对浅一点 而此时就就可以添加上面的条件 当RGB平均值大于20的时候我视为白色

 

这样就变成了上图的效果(其实这个案例中上面直接二值化阀值设为20就可以了)

 

对于【字库设置】 个人建议使用手动采集的方式处理

也就是右边出现什么验证码直接在文本框输入对应的验证码即可(输入是区分大小写的 尽管验证码一般是不区分大小写的)

理论上来说样本采集越多越全 识别率越高 尤其是对于那些非标准字体 标准字体每个字符就算输入再多也只会采集一次(程序不会重复添加一样的样本)

如果使用系统字体 在文本框输入验证码会出现的字符 然后点击生成按钮会弹出一个系统对话框选择字体 确定后会生成对应的预览

选中左边的树节点右键可以对样本进行移除操作

注:在输入的时候输入减号【-】 而识别时候 识别出来的字符串会把所有减号【-】替换成空白 这样可以忽略一些采集的时候框选出了不想要的东西 如一些空心的字体OP等字体内部的东西

当一切都搞定时候点击 文件->保存 即可将配置保存成文件

保存的时候有两个后最可选 .ci.png 和 .ci

前者是以图片形式保存的 这样在电脑中看到的是验证码的图片方便识别

 

【伏宸帐户爆破工具】

 

界面上说的很明确了 一下是自己测试站的爆破结果

 

 

双击列表即可查看对应的包数据

 

【验证码识别工具】

 

此工具用于其他程序调用使用 如:python

# coding: UTF-8

import os

result = os.popen('verifytool.exe D:\\woo.ci.png -f D:\\woo-verify.png').readlines()

print (result)

在我的D盘有这样一张图

 

代码执行后的效果

 

其他调用方式自己测试 不过建议使用 -p 方式 如下

# coding: UTF-8

import urllib2

from socket import *

 

= urllib2.urlopen('http://www.wooyun.org/captcha.php')  

str = h.read()                      #获取验证码

= socket(AF_INET,SOCK_DGRAM);

s.sendto(str,('localhost',14250))   #将获取到的验证码发送给识别程序

code = s.recvfrom(65500)            #接受识别出来的验证码

print(code)

 

 

如果程序是.NET平台编写 则可直接使用VerifyReader.dll文件 将其添加引用然后:

CodeInfo ci = CodeInfo.LoadFromFile("D:\\woo.ci.png");

CodeHelper helper = new CodeHelper(ci);

string code = helper.GetCodeString(Image.FromFile("D:\\woo-verify.png"));

 

--By:伏宸安全团队(2016-2)