密码格式:年月日(yyyyMMdd)
package org.demo;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* 探测 rar 压缩包的密码
* <p>
* 针对密码格式为 yyyyMMdd 的 rar 压缩包,使用穷举法探测密码
* <p>
*
*/
public class RarPasswordTest
{
/**
*
* 探测 rar 压缩包的密码,密码格式为:yyyyMMdd
*
* @param args fileName startDate endDate
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
String path = "E:\\password_test.rar";
String cmd_prefix = "\"C:\\Program Files\\WinRAR\\rar.exe\" -y x -p";
// 分析入参
int start = 20110901;
int end = 20111231;
if (args.length > 0){
path = args[0];
}
if (args.length > 2){
start = Integer.parseInt(args[1]);
end = Integer.parseInt(args[2]);
}
Runtime runtime = Runtime.getRuntime();
String cmd = null;
for (int i=start; i < end; i++){
// command
cmd = cmd_prefix + i + " " + path;
// execute command
Process proc = runtime.exec(cmd);
// out information (这里inputStream和errorStream 需要同时读,否则会发生死锁的情况)
new Thread(new OutTask(proc.getInputStream())).start();
// error information
InputStream is = proc.getErrorStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is, "gbk"));
String data = null;
boolean finish = true;
while((data = br.readLine()) != null){
if (data.contains("errors") || data.contains("failed")){
finish = false;
break;
}
}
br.close();
if (finish){
System.out.println("------- password -------");
System.out.println(i);
System.out.println("> finished");
System.exit(0);
}
System.out.println(i);
}
System.out.println("> exit");
}
}
class OutTask implements Runnable{
private InputStream is;
public OutTask(InputStream is){
this.is = is;
}
@Override
public void run()
{
try {
BufferedReader br = new BufferedReader(new InputStreamReader(is, "gbk"));
while(br.readLine() != null){
// ..
}
br.close();
} catch(Exception e){
}
}
}
分享到:
相关推荐
用于RAR密码暴力破解的源码-仅供参考 function ExtractArchive(ArcName: PChar; Mode: Integer):boolean; var hArcData: THandle; RHCode, PFCode: Integer; CmtBuf: array[0..Pred(16384)] of Char; HeaderData...
密码探测密码探测密码探测大师密码探测大师
窗口文本探测器(星号密码),无广告,无广告,无广告,收藏实用 星号密码是指为防止输入密码时被他人看到,而将密码显示成星号。 该工具主要是为了防止密码忘记等问题
邮箱探测器,弱密码本设置,批量导入探测,自动保存,探测成功发送进邮件箱
探测网络共享密码
GNSS周跳探测.rar
在网上邻居上打开某一计算机的共享目录时,通常要求输入密码,本 工具可以搜索此密码。使用方法如下: ...建议大家不要将密码设置为常用单词、或4位字母以下的简单组合,否则 很容易被类似的工具搜索到。
Win2000自动攻击探测器.rar Win2000自动攻击探测器.rar
星号密码探测器星号密码探测器星号密码探测器星号密码探测器
局域网网密码探测器 版本:2.0 功能:可以探测局域网上共享文件夹的密码,具有多种探测方式。 版本说明:本版本是在1.0版本的基础上重新编写的,采用多线程探测,速度比1.0有了很大的提高,并提供了更多的探测...
纯手写
Http资源探测器.rar,轻松查看网站里的内容
电子-金属探测.rar,单片机/嵌入式STM32-F0/F1/F2
VC 6.0 星号密码探测显示程序,VC星号密码探测程序,如果符合本程序要求的话,密码将会显示出来,不过好像随着网页技术发展,本工具有些落后了,大部分都探测不到了,但是了一下工作原理还是可以的,www.codesc.net...
局域网QQ探测器.rar
易语言源码易语言窗口探测器源码.rar 易语言源码易语言窗口探测器源码.rar 易语言源码易语言窗口探测器源码.rar 易语言源码易语言窗口探测器源码.rar 易语言源码易语言窗口探测器源码.rar 易语言源码易语言窗口...
局域网络密码探测器,,,
tcp端口 udp端口 端口占用查询
基于MATLAB的空洞探测程序,改进版,竞赛可用