| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1112 人关注过本帖
标题:programfan注册机的实现
只看楼主 加入收藏
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
 问题点数:0 回复次数:13 
programfan注册机的实现
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;

/**
*
* @author vlinux
*/
public class AutoRegister {






/**
* 发送请求到目的站点
* site 目的站点
* port 目的端口
* content 发送的内容
* 发送成功返回true,但是不保证一定能在业务逻辑上的成功,仅仅是发送过去了而已
* 发送失败,比如找不到服务器等就返回false
*/
public boolean sendRegister(String site, int port, String content) {
boolean result = false; //返回
Socket socket = null;
try{

/*
* 与对方站点建立连接
*/
socket = new Socket(site,port);
PrintWriter pw = new PrintWriter( socket.getOutputStream() );

/*
* 发送信息
*/
pw.write( content );
pw.flush();

/*
* 到这一步发送成功,返回true
*/
result = true;
} catch (IOException ioe) {

/*
* 如果发送过程中出现意外则返回false
*/
result = false;
} finally {
/*
* 不管是否发送成功,我们都得关闭连接
*/
try {
socket.close();
} catch (IOException ex) {
/*
* 关闭连接的时候发生异常
*/
ex.printStackTrace();
}
return result;
}
}







/**
* 从文件中获取注册时候的Http Header
*/
public String getRegisterHttpHeader(String headerFilename) throws FileNotFoundException {

/*
* 因为找不到文件是不可修复的异常,
* 所以继续抛出
*/
BufferedReader br = new BufferedReader( new FileReader( new File(headerFilename) ) );
StringBuffer sb=new StringBuffer();
try {
while(br.ready()){
sb.append( br.readLine()+"\n" );
}
} catch (IOException ex) {
/*
* 这里在这里软件中不会有异常抛出
* 所以就让异常死在这里了
*/
//ex.printStackTrace();
}
return sb.toString();
}






/**
* 注册用户
* username 帐号名和密码
* site 被注册的站点
* port 该站点web服务的端口号,一般是80
*/
public void register( String username, String site, int port ) throws FileNotFoundException {

/*
* 因为找不到文件是不可修复的异常,
* 所以继续抛出
*/
String header = getRegisterHttpHeader("programfan_hacker_register.txt");

/*
* @替换字符串中的帐号和密码
* 我在抓FireFox2.0发出去的Http Header的时候用户名和密码贪图省事都是一样的
* 都是vlinuxGXU1,所以这里也全部都替换成为一样的,呵呵。
*/
header = header.replaceAll("vlinuxGXU1",username);

/*
* 开始注册
*/
if( sendRegister(site,port,header) == true ) {
System.out.println( "注册成功,用户名称:"+username+",密码:"+username );
} else {
System.out.println( "注册"+username+"失败." );
}

}



/**
* 主方法
* @author vlinux
*/
public static void main(String... args) {
AutoRegister ar = new AutoRegister();
try {
/**
* 帐号和密码都是 knockerkao
* 当然,当你看到这个代码的时候knockerkao早就被我注册了
* 对了,顺便提醒一句,你起的帐号名必须要超过7个字符以上
* 否则会和我的 Content-Length: 256 对不上
* 因为你至少要超过这个数字才能正确被服务器识别
*/
ar.register("knockerkao","www.programfan.com",80);
} catch (FileNotFoundException ex) {
System.out.println( "找不到文件: "+ex.getMessage() );
}
}


}
搜索更多相关主题的帖子: programfan 注册机 
2007-01-13 20:33
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
POST http://www.programfan.com/user/saveuser.asp?action=person HTTP/1.1
Host: www.programfan.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.8.1) Gecko/20061023 SUSE/2.0-30 Firefox/2.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://www.programfan.com/user/register.asp
Cookie: style=1; ASPSESSIONIDQATDRQTQ=KEDFEAFBAMMDEGCDPABJGDJB; userid=; username=
Content-Type: application/x-www-form-urlencoded
Content-Length: 256

username=vlinuxGXU1&password=vlinuxGXU1&repassword=vlinuxGXU1&name=vlinuxGXU1&sex=%C4%D0&email=vvv%40gxu.edu.cn&question=vlinuxGXU1&answer=vlinuxGXU1&city=%C9%CF%BA%A3&year=1920&month=1&day=1&qq=&website=&address=&zipcode=&phonenumber=&Submit=%C8%B7+%B6%A8


以上是 programfan_hacker_register.txt 这个文件的内容
这是我在 openSuse10.2下用伪代理截取FireFox2.0发送给programfan注册信息的http header
不知道在windows下能不能用,如果不能我再给出windows下截取ie发送的 http header

淘宝杜琨
2007-01-13 20:36
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
能用,HTTP在IE和FF都是一样的
不错,终于整理出去了,不过有时候应该写个通过版的,那就爽了

可惜不是你,陪我到最后
2007-01-13 20:43
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
通用版有个问题就是要解析对方的<html>代码
否则你怎么构造<form>提交字段啊

虽然解析<html>代码不难,但是也是要花费时间的,live41正好在研究这个方向
有机会我们一起讨论吧

淘宝杜琨
2007-01-13 20:50
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
一般比如动网的论坛它的FORM都是一样的

所以我们要把这些版本的论坛搞清楚就可以了
还有些论坛是discuz版的,反正论坛的模版都是这几个而已


可惜不是你,陪我到最后
2007-01-13 21:00
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
那个灌水机的代码呢

win32汇编
病毒 加密
目前兴趣所在
2007-01-13 21:19
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
不就在上面吗

可惜不是你,陪我到最后
2007-01-13 21:29
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
上面是注册机的,大家先能用这个注册机我再方灌水机上来

淘宝杜琨
2007-01-13 21:31
无理取闹
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:53
帖 子:4264
专家分:0
注 册:2006-7-26
收藏
得分:0 
不是注册机么

win32汇编
病毒 加密
目前兴趣所在
2007-01-13 21:40
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

不急,灌水机他在整理呢


可惜不是你,陪我到最后
2007-01-13 21:47
快速回复:programfan注册机的实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025331 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved