通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务
当前位置:首页>>站长club>>baidu>>正文 新版上线![旧版]
注:打开慢时请稍等
突破百度贴吧的验证码限制

http://www.iyit.net  日期:2006-5-8 14:22:06  来源:转载  点击:
参加讨论】现在我们就说说具体操作了。先得到一幅验证码图片,这个得到的方法有很多,我建议用屏幕指定位置抓图来实现,然后保存成bmp格式,进行图像的二值化处理。二值化处理就是把图片转换成两种颜色,不过需要设置一个适当的阀值(由于24位图的一个点是由rgb3个颜色分量来控制,那么我们得到这3个分量的值后除以3就是阀值了),这样才能起到祛除部分噪音的效果。我们假设阀值为128 现在我们看看这段代码
var
p: pbytearray;
gray, x, y: integer;
bmp: tbitmap;
begin
bmp := tbitmap.create;
bmp.assign(image1.picture.bitmap);
//设置为24位真彩色
bmp.pixelformat := pf24bit;
randomize;
for y := 0 to bmp.height - 1 do
begin
p := bmp.scanline[y];
for x := 0 to bmp.width - 1 do
begin
//一个象素点三个字节
gray := round(p[x * 3 + 2] * 0.3 + p[x * 3 + 1] * 0.59 + p[x
* 3] * 0.11);
if gray > 128 then //全局阀值128
begin
p[x * 3] := 255;
p[x * 3 + 1] := 255;
p[x * 3 + 2] := 255;
end
else
begin
p[x * 3] := 0;
p[x * 3 + 1] := 0;
p[x * 3 + 2] := 0;
end;
end;
end;
image2.picture.bitmap.assign(bmp);
bmp.free;
这样我们就得到了一幅二值化的bmp。
得到这副图后,我们需要对图像进行分割,就是把它变成4个小位图,分别装入4个数字。分割算法很简单,因为验证码的数字位置左右跳动幅度不大,源代码就不再给出。
然后我们要做的就是把这副图进行几个方向的hough变换检测,由控制θ的角度来实现,比如说这个 这是数字3 我们可以看到它有什么特征没有?它横着由三横组成,竖着由2竖组成!我们就规定 如果横着有3条直线,竖着有两条直线,那么这个数就是3了!所以我们只要用hough算子检测 0 & 90 度就能确定横竖有多少直线了,再看这个 这是数字1 我们就规定竖有一条最长的直线,然而横的直线如果不超过竖直线长的1/2那么就是1了。其他数以此类推!
当然实际操作当然没有这么简单,因为还是有部分噪音点没有祛除干净,但是这的确说明了我们的思想!所以每个数有需要准备几套特征编码,如果出现多个数,就看使用编码数最多的数就是我们要识别的数了。最后就是统计了,统计函数我们现在给出
function repeatcount(s:string;d:string):integer;
var i:integer;
begin
i:=0;
while pos(d,s)>0 do
begin
i:=i+1;
delete(s,pos(d,s),length(d));
end;
result:=i;
end;
利用这个函数,我们就可以确定出现最多的p的次数以及使用编码最多的次数了!笔者随文附送了一个检测0度和90度的检测器,读者可以多试几次就明白了!(如图)
当然只有这两度检测是远远不够的,实际应用中,可以使用0~90度中任意一度检测,比如说7,它的竖由于不是90度的(直的)所以要用其他的度数来检测! 这里也总结一下,任意数字,只要我们能得到相应的特征,那么我们就可以对它进行识别!
总结一下创新的:
1、 获得图片,进行二值化的变换、祛除噪音。
2、 分割图像,保存成相应的bmp文件。
3、 对其进行几个方向的hough变换检测,根据相应的验证码来定!
(你也可以做更多的检测,比如有英文字母就需用到其他算法了!)
4、 对特征进行统计,得出识别结果。
接下来要做的就是做个post程序了,这个太简单了,代码你就自己写吧!不过也要做到如下细节:做成多线程程序进行发贴,不然程序会失去响应的。最好是可以导入大量的代理ip的,然后就是发贴的内容最后加上几个随机字符,这样可以防止重复贴的过滤!最重要的,只是做测试,发贴量不要太多、不要乱发广告贴!
所以说再安全的验证码也有软肋,我们只要发现就可以找出其中的漏洞!当然不只是针对百度,其他论坛的特征码同样能识别!当然网络安全技术也是双刃剑,我这里再次强调!这种方法的确能识别很多重要的部门的一些关键验证码,但是读者如果使用其方法进行破坏,那已经违反了中华人民共和国的相关法律,是要付刑事责任的!并且与笔者无关!
其实上述方法已经不是只是对验证码进行识别了,完全可以用到现实生活中去,比如说手写体识别、车牌识别等等,但是现实生活中我们还要进行更多的加工,比如说圆形检测,多边形检测等等。所以说从网络安全技术中,也有很多东西能造福社会,还等待我们继续创造!

本新闻共2页,当前在第2页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:百度的38个我预示互联网2.0的崛起
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
突破百度贴吧的验证码限制
百度的38个我预示互联网2.0的崛起
百度给站长的建站指南
常见站长问答
百度“反垃圾网站”的若干问答
行业网站设计心得
网站导航理论与实践
企业域名选择的原则和技巧
在网页编辑常用表现的实现方法
网站设计的思考(6)——首页的设计
网站设计的思考(5)——确定网站的整体
网站设计的思考(4)——确定网站的目录
网站设计的思考(3)——确定网站的栏目
网站设计的思考(2)——定位网站ci形象
网站设计的思考(1)——定位网站主题和
突破百度贴吧的验证码限制
百度的38个我预示互联网2.0的崛起
百度给站长的建站指南
常见站长问答
百度“反垃圾网站”的若干问答
新开放qq免费挂级网站
免费在qq上看在线电影电视听音乐
免费把qq炫铃设为本机qq的系统提示音
qq珊瑚虫外挂4.0版本发布!
腾讯qq调整升级条件不再诱发网民“通宵
优秀公益广告作品欣赏(8)
java数据类型转换
流金岁月!cpu历史上最难忘的十个第一
qq挂机的n种快速方法
asp自动解压rar文件
巧用photoshop图案工具
用photoshop制成浪漫的“珍珠项链”
第二十章 开发delphi对象式数据管理功
sql简明教程(1)
vbscript和javascript互相调用 
jsp教程(四)-jsp actions的使用
操作系统被入侵后的修复过程
五一别忘电脑防毒 养成良好上网习惯
google对ie浏览器将捆绑搜索功能表担忧
新版上线,今日正式开通!!!
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息