自动注册gmail邮箱构想
1.关于自动注册原理与实践。
1.基于浏览器请求,-- 程序员写出一个程序模拟一条自动注册url,把注册所必须的参数都附在请求后面
2.基于HttpClient 请求。实现过程比较简单,可以通过穿过ssl进行请求
自动注册首先要解决的问题:
1.关于注册验证吗的破解。
? 1.市面上一个简单图片验证吗的开发已经不是什么难事了,对于程序生产的图片,破解起来是比较困难的,
??? 特别是google,我曾经不段的验证,发现,如果您单独取出那条验证吗的,话,google会说您的请求错误,
??? 也就是google的验证吗的前提是必须输入请求注册url才行,因此破解它是很困难的。
? 2.关于中文验证吗,虽然生产原理是一样,但是给注册的人破解就跟是难了。
由于以上原因,我没有找到一个关于破解验证吗的程序,而我本人知识水平有限,因此自动注册,我只能
找出那些字段跟注册url,并模拟一个注册请求。
前阵子,因为有需求,打算破解Gmail的图片识别码,进而达到自动注册Gmail邮箱的构想,
想法大概如下,构建一个Model,保存注册Gmail邮箱必填字段,跟一些隐藏参数,
先向Gmail注册地址进行请求服务,拿下Gmail图片验证码,进而调用图片识别程序,进行循环破解,知道破解成功,然后往Model设置识别吗的参数,
最后调用HttpClient进行请求服务。最后分析返回htm结果进行分析,是否注册成功。
在这里,唯一的难度就是破解验证吗程序,小弟还没找到好方法,不过至于模拟其他请求已经设置好。现在发个代码给大家看看
?
/**?*//********************************************************************
?*?项目名称????????????????:<b>j2me学习</b>????????????<br/>
?*?
?*?Copyright?2005-2006?Wuhua.?All?rights?reserved
?********************************************************************/
package?org.job.four;
/**?*//**
?*?<b>类名:Member.java</b>?</br>?
?*?编写日期:?2007-3-27?<br/>
?*?程序功能描述:提供对注册字段的封装,<br/>
?*??程序只需要封装一个member,再向gmail发生请求<br/>
?*?Demo:?<br/>
?*?Bug:?<br/>
?*?
?*?程序变更日期?:<br/>?
?*?变更作者?:<br/>?
?*?变更说明?:<br/>
?*?
?*?@author?wuhua?</br>?<a?href="mailto:rrq12345@163.com">rrq12345@163.com</a>
?*/
public?class?Member?...{
????
????private?String?PasswdAgain?=?"51jobboj";?//重复密码
?
????private?String?FirstName="foxjob";?//名字
????private?String?LastName="tang";//姓
????private?String?Email="gooooooooooooooooooooooooooogle";//email名字
????private?String?Passwd="51jobboj";//密码
????private?String?selection="who?is?me?";//安全问题
????
????private?String?IdentityAnswer="me?to?51job";?//密码安全问题答案
????private?String?SecondaryEmail="gooogledev@gmail.com";//第2电子邮箱
????private?String?loc="中国";?//地点
????private?String?newaccountcaptcha="";??//验证吗
????
????
????//以下是gmail隐藏的参数
????private?String?Continue?=?"http://mail.google.com/mail/e-11-104e59efab9ad9107b5532645c608844-f30129a93b86f8b2ec791bab26d3a93974381ba7";?//由于continue是java关键字,所以把c改为大写C
????private?String?t="6e91f0ba-47e895da-33e242a784269c0e1776";
????private?String?service="mail";
????private?String?dsh?=?"7874657562226198951";
????public?final?String?getContinue()?...{
????????return?Continue;
????}
????public?final?String?getDsh()?...{
????????return?dsh;
????}
????public?final?String?getService()?...{
????????return?service;
????}
????public?final?String?getT()?...{
????????return?t;
????}
????public?final?void?setContinue(String?continue1)?...{
????????Continue?=?continue1;
????}
????public?final?void?setDsh(String?dsh)?...{
????????this.dsh?=?dsh;
????}
????public?final?void?setService(String?service)?...{
????????this.service?=?service;
????}
????public?final?void?setT(String?t)?...{
????????this.t?=?t;
????}
????public?final?String?getEmail()?...{
????????return?Email;
????}
????public?final?String?getFirstName()?...{
????????return?FirstName;
????}
????public?final?String?getIdentityAnswer()?...{
????????return?IdentityAnswer;
????}
????public?final?String?getLastName()?...{
????????return?LastName;
????}
????public?final?String?getLoc()?...{
????????return?loc;
????}
????public?final?String?getNewaccountcaptcha()?...{
????????return?newaccountcaptcha;
????}
????public?final?String?getPasswd()?...{
????????return?Passwd;
????}
????public?final?String?getPasswdAgain()?...{
????????return?PasswdAgain;
????}
????public?final?String?getSecondaryEmail()?...{
????????return?SecondaryEmail;
????}
????public?final?String?getSelection()?...{
????????return?selection;
????}
????public?final?void?setEmail(String?email)?...{
????????Email?=?email;
????}
????public?final?void?setFirstName(String?firstName)?...{
????????FirstName?=?firstName;
????}
????public?final?void?setIdentityAnswer(String?identityAnswer)?...{
????????IdentityAnswer?=?identityAnswer;
????}
????public?final?void?setLastName(String?lastName)?...{
????????LastName?=?lastName;
????}
????public?final?void?setLoc(String?loc)?...{
????????this.loc?=?loc;
????}
????public?final?void?setNewaccountcaptcha(String?newaccountcaptcha)?...{
????????this.newaccountcaptcha?=?newaccountcaptcha;
????}
????public?final?void?setPasswd(String?passwd)?...{
????????Passwd?=?passwd;
????}
1 楼 sutra 2007-04-13 .市面上一个简单图片验证吗的开发已经不是什么难事了,对于程序生产的图片,破解起来是比较困难的,