图形识别技术与网上安全

鉴于很多朋友的意思,再补充说一下,
希望大家参考一下有关神经网络的技术资料,模式识别的文章。
我的网站已经服务到期,程序在 这里
最近实在太忙,没时间写完。大家凑合着看吧。希望大家给我建议。谢谢。

图形识别技术与网上安全

(关键字:图形识别 安全 黑客 破解 OICQ 登陆)
作者:主 人
 
 
 
 
2004-1-4 V1.0
 
 
Home
QQ
11602011
Email
Tel
(86)028-87311227
 
 

§1.1 目录

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

§1.2 前言

申明:
1、  本文章并不怂恿大家做什么有害计算机网络安全的任何活动!仅作研究讨论使用。
2、  写得不好,望大家指正。
如今,太多的网站使用了图形附加码,如 http://love.qq.com/left1.shtml,以求Internet的安全,然而,真是如此吗?

§1.3 图形识别的梦想

每个程序员、每个系统架构师、每个IT人,谁没有梦想,谁没有作为的梦?我,就是这样的一个人,这个图形附加码的识别就算是我踏出图形识别之路的第一步吧,同时也希望专家们把网上的图形附加码做得更好。

§1.4 图形识别的原理

§1.4.1 图形类型

§1.4.1.1. 常规图形的识别
常规图形是指图形附加码没有经过任何特殊的处理,如 7564. 这中图形一般每个数字占的宽度、高度都一致。因此,其识别是很容易的,只要先采集0 ~ 9的数字特征码存于数据库,用的时候拿出来作一个扫描比较,取出最接近的一个就是了。特征码的采集见[ 识别原理]
§1.4.1.2. 一般效果图形
不同颜色、背景色、随机杂点,通常只用了两种颜色:前景色、背景色两种。如: ,这种图形的识别分析原理是,先扫描一遍整个图形,统计出颜色最多的一种:就是背景色,定义为待去除的背景色。然后在扫描一遍,把背景色还原为白色,以便识别方便,同时去除杂点,去除杂点的原理是,用GetPixel取出一点与背景色比较,如果不同,然后取其附近的点比较,如果没有连续的点,证明是杂点,所以就用SetPixel设置他。最后在用 常规图形的识别方法处理他。 样例程序就是采用这样的方法。(样例图来自: http://verify.qq.com/getimage?"%2CMath.random()%2C”)
§1.4.1.3. 特殊图形的识别
这样的图形通常有不同的背景色、背景点、背景图、渐变背景色、网格背景等等,而前景图形(通常是数字、字符、汉字等)则采用倾斜、膨化、波浪化、风化、背景图形凹凸、球状扭曲等等效果来形成。如:(以下图形来自 http://edit.bjs.yahoo.com/config/eval_register?.ea=35NB3rPjpNEH191O8w9OLjUE_Nn8b16EhPzXz1BMMqq6pMb53YlmWfnAjJdcnHvar9NxW_XbmgVJsJqrxNY2ntMqZ4QY7G.1.ciCd_U.zUGUChdS9DNFevwgs3LzTTxuawVbRaoEZCggdLcEm02UCHCdaJUnb.6JSdeMyfx7Gg9eVx5mu4UH8pAiE07_yEE4doLEhWunjA--,每刷新一次变一次)
 
 
 
 
 
 
 
如上的图形,通常用 笔迹流向法(见下面)解决,但是,在识别之前应该用用 水流还原法还原由背景色网格分隔开的前景图形。

§1.4.2 识别原理

§1.4.2.1. 特征码法
特征码就是统计单个图形字显示时占的宽、高度像数,在统计每横行、竖行像数占的比例数,当然,也可以把宽高平分为n等份来记录,以减少特征码数据库的体积。如:
去除多余的部分后,各数字宽为6 Pix,高 9 Pix,0数字图形的横向统计是:0, 1, 2, 2, 2, 2, 2, 2, 1。也就是说比例为:0,1/6,1/3,1/3,1/3,1/3,1/3,1/3,1/6;竖向统计:4, 2, 2, 2, 4, 0,比例:4/9,2/9,2/9,2/9,4/9,0。下为C/C++描述
// 横向Pix统计( 0 ~ 9)
       int narrNumCharacterH[10][9] = {
              {0, 1, 2, 2, 2, 2, 2, 2, 1},
              {0, 1, 2, 2, 1, 1, 1, 1, 5},
              {0, 3, 2, 1, 1, 1, 1, 1, 5},
              {0, 3, 2, 1, 2, 1, 1, 2, 3},
              {0, 1, 2, 2, 2, 2, 5, 1, 1},
              {0, 5, 1, 4, 2, 1, 1, 2, 3},
              {0, 3, 1, 1, 4, 2, 2, 2, 3},
              {0, 5, 1, 1, 1, 1, 1, 1, 1},
              {0, 3, 2, 2, 3, 2, 2, 2, 3},
              {0, 3, 2, 2, 2, 4, 1, 1, 3}
       };
       // 竖向Pix统计( 0 ~ 9)
       int narrNumCharacterS[10][6] = {
              {4, 2, 2, 2, 4, 0},
              {2, 2, 8, 1, 1, 0},
              {3, 3, 3, 3, 3, 0},
              {2, 2, 3, 3, 5, 0},
              {3, 2, 2, 8, 1, 0},
              {5, 3, 3, 3, 5, 1},
              {5, 3, 3, 3, 4, 0},
              {1, 3, 3, 3, 2, 0},
              {5, 3, 3, 3, 5, 0},
              {4, 3, 3, 3, 5, 0}
       };
§1.4.2.2. 笔迹流向法
笔记流向法就是当GetPixel取出一个点后,想四周漫游出7 ~ 8 个点,寻找正确的流向,如果四周都没有
§1.4.2.3. 水流还原法
sgfdg

§1.5 样例程序

§1.5.1 下载地址

§1.5.2 操作步骤

运行后,点击[取得图片]按钮,程序会自动从 http://verify.qq.com/getimage?"%2CMath.random()%2C"下载类似 这样的图片,并在当前目录保存为dl.gif,然后在点击[分析]按钮,就会在[这里将显示分析的结果]的Edit中得到图形识别后的结果。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值