软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 做自动发贴程序-百度贴吧验证码算法
全文

做自动发贴程序-百度贴吧验证码算法

2007-05-06 07:00作者:出处:论坛整理责任编辑:卢林嘉

  首先,进入一个贴吧,比如"virus吧",地址是http://post.baidu.com/f?kw=virus。

图1

  可以看到,页面底部有一个表单,允许匿名发贴。如果要写一个自动发贴的程序,唯一的难点是验证码。

图2

  接下来查看页面源码,发现验证码是个图片,由脚本生成。验证码图片的链接是形如http://post-js.baidu.com/cgi-bin/c?[p1]&[p2]的样子,其中p1和p2是两个随机整数。

图3

  所有验证码图片上面都有4个阿拉伯数字,夹杂一些噪音点。可惜这些噪音点不是随机产生的,举个例子,http://post-js.baidu.com/cgi-bin/c?0&0和http://post-js.baidu.com/CGI-bin/c?65536&0这两个链接将产生两幅完全相同的图片。

  验证图片上面的数字是可以由产生它的链接地址直接计算出来的。公式的c代码如下:

以下是引用片段:
  p1 >>= 8;
  p2 >>= 8;
  p1 = (p1 & 0xff)+((p1 >> 16) << 8);
  p2 = (p2 & 0xff)+((p2 >> 16) << 8);
  result = (p1 + (p2 << 16)) % 10000;

  图3所示的链接地址可以生成图2中的验证码,对于这个例子,链接中的两个整数:

以下是引用片段:
  p1 = 695327974, p2 = 1581465364
  p1 = p1/256 = 695327974/256 = 2716124
  p2 = p2/256 = 1581465364/256 = 6177599
  p1 = p1%256 + p1/65536*256 = 2716124%256 + 2716124/65536*256 = 10716
  p2 = p2%256 + p2/65536*256 = 6177599%256 + 6177599/65536*256 = 24127
  result = (p1 + p2*65536)%10000 = (10716 + 24127*65536)%10000 = 1581197788%10000 = 7788

  这就是图2中的验证码7788。


  阅读关于 XML 自动 发贴 程序 百度贴吧 验证码算法 的全部文章

软件资讯·软件下载尽在天极软件

相关搜索:
关注此文读者还看过
热门关注
特别推荐
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众