基本情况:中国联通官网的验证码,固定位置,固定大小,无干扰
获取地址:http://ecard.10010.com/getImage.jsp
基本思路是为每个数字建模,然后逐像素点对比,当匹配度最高的数字即为结果,如果识别错误则再次获取后识别。
程序采用WebBrowser1+自动填表+自动点击的方式完成,部分代码如下:
'################################处理自动填表################################ If URL = "http://pay.10010.com/payFeeOnline/payFeeOnlineInit.action" And Form1.Tag = "0" Then '获取验证码图像,开始解析 Command1.Caption = "正在获取验证码,请稍侯..." Dim Buff() As Byte Inet1.URL = "http://ecard.10010.com/getImage.jsp" Buff() = Inet1.OpenURL(, icByteArray) If UBound(Buff()) < 100 Then GoTo error1 With Picture1 .Picture = PictureFromBits(Buff()) .PaintPicture .Picture, 0, 0, 700, 400, 0, 0, .ScaleWidth, .ScaleHeight End With DoEvents '识别验证码 Call GetCode Command1.Caption = "订单生成中..." tyty = Split(Get_Data, "*") '充值号码,每次一个 If tyty(2) <> "1" Then tyty(1) = CStr(CSng(tyty(1)) * CSng(tyty(2))) '金额=金额*数量 WebBrowser1.Document.All("payFeeOnlineInfo.productNO").Value = tyty(0) WebBrowser1.Document.All("payFeeOnlineInfo.productNOAgain").Value = tyty(0) WebBrowser1.Document.All("payFeeOnlineInfo.payFee").Value = tyty(1) WebBrowser1.Document.All("payFeeOnlineInfo.checkCode").Value = Text1.Text '提交表单 WebBrowser1.Document.All("submit0").Click Command1.Caption = "跳向确认订单!" Form1.Tag = "1" Exit Sub error1: Form1.Tag = "0" End If
以上是登陆到联通自动充值页面,填写手机号码,充值金额和验证码之后,生成订单的一个过程。
之后是订单确认,然后转网银支付。
验证码识别部分:
Private Sub GetCode() '识别========================= Command1.Caption = "正在识别验证码..." t1 = "" t2 = "" t3 = "" t4 = "" Dim ty(9) ty(0) = "00001111111100011111111111011100000000111000000000011000000000011100000000001110000000111101111111111100" ty(1) = "00000000000010000000000001010000000011111111111111111011111111001110000000000111000000000010000000000000" ty(2) = "00000000001110100000011101110000001100110000001110011000001100001100000110000111111110000011111110000000" ty(3) = "00000000000110100001000001110000100000111000010000011000001000001100001111111111111101111101111100000000" ty(4) = "00000001110000000001111000000001101100000000110110000000110011000001110001111111111111111111111111111000" ty(5) = "00111100000111111110000001110001000000110000100000111000011000110100000111110010000011111001000000111000" ty(6) = "00001111111100011001000001011101100000101110110000011100010000001100001000001110000110001101000001111110" ty(7) = "00000000000011000000000111100000000011110000001111101000001111000100001100000010111100000001111100000000" ty(8) = "00111001111110111110111011110001110000110000010000011000001000001100001110011110000111001111111111111110" ty(9) = "00001100000110111111000001011100110000111000001000011000000100011100000111111010000011111101111111011100" '111111111 Dim flag(10) For i = 4 To 11 For j = 8 To 20 If Picture1.Point(i, j) < &H200000 Then t1 = t1 & "1" Else t1 = t1 & "0" End If Next j Next i Text1.Tag = 0 For M = 0 To 9 For N = 0 To Len(t1) If Mid(t1, N + 1, 1) = Mid(ty(M), N + 1, 1) Then flag(M) = flag(M) + 1 End If Next N If flag(M) > CSng(Text1.Tag) Then Text1.Tag = flag(M) ty1 = M End If Next M '2222222222222s For i = 14 To 21 For j = 8 To 20 If Picture1.Point(i, j) < &H200000 Then t2 = t2 & "1" Else t2 = t2 & "0" End If Next j Next i Text1.Tag = 0 For M = 0 To 9 flag(M) = 0 For N = 0 To Len(t2) If Mid(t2, N + 1, 1) = Mid(ty(M), N + 1, 1) Then flag(M) = flag(M) + 1 End If Next N If flag(M) > CSng(Text1.Tag) Then Text1.Tag = flag(M) ty2 = M End If Next M '33333333333 For i = 24 To 31 For j = 8 To 20 If Picture1.Point(i, j) < &H200000 Then t3 = t3 & "1" Else t3 = t3 & "0" End If Next j Next i Text1.Tag = 0 For M = 0 To 9 flag(M) = 0 For N = 0 To Len(t3) If Mid(t3, N + 1, 1) = Mid(ty(M), N + 1, 1) Then flag(M) = flag(M) + 1 End If Next N If flag(M) > CSng(Text1.Tag) Then Text1.Tag = flag(M) ty3 = M End If Next M '444444 For i = 34 To 41 For j = 8 To 20 If Picture1.Point(i, j) < &H200000 Then t4 = t4 & "1" Else t4 = t4 & "0" End If Next j Next i Text1.Tag = 0 For M = 0 To 9 flag(M) = 0 For N = 0 To Len(t4) If Mid(t4, N + 1, 1) = Mid(ty(M), N + 1, 1) Then flag(M) = flag(M) + 1 End If Next N If flag(M) > CSng(Text1.Tag) Then Text1.Tag = flag(M) ty4 = M End If Next M Text1.Text = ty1 & ty2 & ty3 & ty4 End Sub
您还没有登录,请您登录后再发表评论
vb验证码识别 vb验证码识别 vb验证码识别
一个用VB实现的识别验证码的例程,调用动态链接库
在VB(Visual Basic)编程环境中,验证码识别是一个常见的任务,特别是在自动化测试、数据抓取或者模拟用户登录等场景。验证码的目的是为了防止机器人或者自动脚本的恶意操作,因此识别它需要一定的图像处理和模式...
这个VB脚本的核心目标是实现数字验证码的自动识别。在VB中,这可能涉及到以下几个关键知识点: 1. 图像处理:首先,脚本需要能够读取和处理图像文件。VB可以使用如ImageMagick、PIL(Python Imaging Library)的库...
VB 验证码识别示例+(亦思验证码识别系统3.1破解版
在VB6中实现验证码识别是一项涉及图像处理和模式识别的技术挑战。验证码的主要目的是为了防止自动化的机器人程序进行恶意操作,而开发人员有时需要编写代码来自动化处理这些验证码,例如在爬虫或者自动化测试中。本...
对于“车牌识别详解.doc”,我们可以推测这是另一个相关主题,涉及到自动识别车辆的车牌号码。车牌识别技术常用于交通监控、智能停车场系统等场景。与验证码识别类似,它也需要图像处理和字符识别,但难度更大,因为...
当涉及到“VB验证码识别”时,这通常是指使用VB编写代码来自动化识别和输入验证码的过程。 验证码识别技术主要包括以下几个关键知识点: 1. 图像处理:验证码识别的第一步是通过图像处理技术提取验证码中的字符。...
【VB验证码识别】是关于使用Visual Basic(VB)编程语言实现的一种图像验证码解析技术。验证码是一种常见的网络安全措施,用于防止自动机器人或恶意软件进行非法操作,例如注册、登录或者发送垃圾邮件。它通常由随机...
在这个场景下,VB被用于编写源代码来识别验证码,这是一种挑战计算机自动识别的技术,通常涉及到图像处理、模式识别和机器学习。 VB识别验证码源码的核心在于以下几个关键知识点: 1. 图像处理:首先,VB源码需要...
本示例是基于VB2008(Visual Basic 2008)的一个验证码识别项目,其核心目标是演示如何通过编程方式解析和识别图像中的验证码。 验证码识别技术主要涉及图像处理和模式识别。在这个VB2008示例中,开发者可能使用了...
【VB验证码识别】是一种在编程领域中用于自动化处理网页或应用程序中的验证码的技术。VB(Visual Basic)是微软公司推出的一种面向对象的编程语言,常用于开发Windows桌面应用。在这个项目中,开发者通过VB来实现一...
VB写的最简单的验证码识别程序,含图片识别及源代码模块,验证码图片取自网上ASP程序生成的图片,由程序读取后下载到本地,识别模块通过点阵扫描后对字符点阵数量的统计来进行识别,比较初级。只能识别字符比较规则...
在IT领域,验证码识别是一项重要的技术,主要用于防止自动化程序(如机器人)进行恶意操作,例如批量注册、垃圾信息发送等。Visual Basic(VB)是一种常用的编程语言,它可以帮助开发者实现简单的验证码识别功能。本...
总的来说,"字母-文字-汉字验证码自动识别"的VB源码涵盖了许多计算机视觉和机器学习的概念,包括图像处理、特征提取、模式识别和OCR。通过深入理解这些技术,开发者可以构建出更高效、准确的验证码识别系统,从而...
验证码识别技术是网络安全中的一种常见反爬虫策略,它的目的是防止自动化的机器人或者恶意软件进行非法操作。在本案例中,我们关注的是一个基于Visual Basic(VB)开发的验证码识别程序。VB是一种流行的编程语言,...
通过结合各种技术和策略,可以在一定程度上实现自动识别,但这往往需要根据具体的验证码类型和应用场景进行定制。在实际应用中,可能还需要结合其他编程语言和工具,以实现更高效、准确的识别效果。
5. 识别出的字符与原始验证码进行比对,计算准确率。 6. 可能会有一个反馈机制,用于不断优化和训练识别模型,以提高未来的识别效果。 需要注意的是,这个系统设计仅支持英文和数字的验证码,不支持中文字符。这是...
在VB6(Visual Basic 6)环境中,图片验证码识别是一个常见的需求,特别是在自动化测试、爬虫项目或模拟用户登录等场景。本压缩包提供的“vb6图片验证码字母或数字通用识别代码”旨在解决这一问题,它能高效地识别...
相关推荐
vb验证码识别 vb验证码识别 vb验证码识别
一个用VB实现的识别验证码的例程,调用动态链接库
在VB(Visual Basic)编程环境中,验证码识别是一个常见的任务,特别是在自动化测试、数据抓取或者模拟用户登录等场景。验证码的目的是为了防止机器人或者自动脚本的恶意操作,因此识别它需要一定的图像处理和模式...
这个VB脚本的核心目标是实现数字验证码的自动识别。在VB中,这可能涉及到以下几个关键知识点: 1. 图像处理:首先,脚本需要能够读取和处理图像文件。VB可以使用如ImageMagick、PIL(Python Imaging Library)的库...
VB 验证码识别示例+(亦思验证码识别系统3.1破解版
在VB6中实现验证码识别是一项涉及图像处理和模式识别的技术挑战。验证码的主要目的是为了防止自动化的机器人程序进行恶意操作,而开发人员有时需要编写代码来自动化处理这些验证码,例如在爬虫或者自动化测试中。本...
对于“车牌识别详解.doc”,我们可以推测这是另一个相关主题,涉及到自动识别车辆的车牌号码。车牌识别技术常用于交通监控、智能停车场系统等场景。与验证码识别类似,它也需要图像处理和字符识别,但难度更大,因为...
当涉及到“VB验证码识别”时,这通常是指使用VB编写代码来自动化识别和输入验证码的过程。 验证码识别技术主要包括以下几个关键知识点: 1. 图像处理:验证码识别的第一步是通过图像处理技术提取验证码中的字符。...
【VB验证码识别】是关于使用Visual Basic(VB)编程语言实现的一种图像验证码解析技术。验证码是一种常见的网络安全措施,用于防止自动机器人或恶意软件进行非法操作,例如注册、登录或者发送垃圾邮件。它通常由随机...
在这个场景下,VB被用于编写源代码来识别验证码,这是一种挑战计算机自动识别的技术,通常涉及到图像处理、模式识别和机器学习。 VB识别验证码源码的核心在于以下几个关键知识点: 1. 图像处理:首先,VB源码需要...
本示例是基于VB2008(Visual Basic 2008)的一个验证码识别项目,其核心目标是演示如何通过编程方式解析和识别图像中的验证码。 验证码识别技术主要涉及图像处理和模式识别。在这个VB2008示例中,开发者可能使用了...
【VB验证码识别】是一种在编程领域中用于自动化处理网页或应用程序中的验证码的技术。VB(Visual Basic)是微软公司推出的一种面向对象的编程语言,常用于开发Windows桌面应用。在这个项目中,开发者通过VB来实现一...
VB写的最简单的验证码识别程序,含图片识别及源代码模块,验证码图片取自网上ASP程序生成的图片,由程序读取后下载到本地,识别模块通过点阵扫描后对字符点阵数量的统计来进行识别,比较初级。只能识别字符比较规则...
在IT领域,验证码识别是一项重要的技术,主要用于防止自动化程序(如机器人)进行恶意操作,例如批量注册、垃圾信息发送等。Visual Basic(VB)是一种常用的编程语言,它可以帮助开发者实现简单的验证码识别功能。本...
总的来说,"字母-文字-汉字验证码自动识别"的VB源码涵盖了许多计算机视觉和机器学习的概念,包括图像处理、特征提取、模式识别和OCR。通过深入理解这些技术,开发者可以构建出更高效、准确的验证码识别系统,从而...
验证码识别技术是网络安全中的一种常见反爬虫策略,它的目的是防止自动化的机器人或者恶意软件进行非法操作。在本案例中,我们关注的是一个基于Visual Basic(VB)开发的验证码识别程序。VB是一种流行的编程语言,...
通过结合各种技术和策略,可以在一定程度上实现自动识别,但这往往需要根据具体的验证码类型和应用场景进行定制。在实际应用中,可能还需要结合其他编程语言和工具,以实现更高效、准确的识别效果。
5. 识别出的字符与原始验证码进行比对,计算准确率。 6. 可能会有一个反馈机制,用于不断优化和训练识别模型,以提高未来的识别效果。 需要注意的是,这个系统设计仅支持英文和数字的验证码,不支持中文字符。这是...
在VB6(Visual Basic 6)环境中,图片验证码识别是一个常见的需求,特别是在自动化测试、爬虫项目或模拟用户登录等场景。本压缩包提供的“vb6图片验证码字母或数字通用识别代码”旨在解决这一问题,它能高效地识别...