抛砖引玉:一个最简单的暴力破解RAR压缩文件的C#小程序

andy1118 2010-02-27 09:50:31
//一个最简单的暴力破解密码的小程序
//假设压缩文件的密码是由数字0-9组成的二位数
bool isFileExist = false;
string s1=null;
for (int i1 = 0; i1 < 100; i1++)
{
Application.DoEvents();
//补足二位,若不足二位电脑会自动在前面补0
s1 = (string)i1.ToString().PadLeft(2, '0');
//启动进程
System.Diagnostics.Process p1 = new System.Diagnostics.Process();
//设置进程执行文件
p1.StartInfo.FileName = @"E:\Test\rar";
//设置进程执行文件的参数
p1.StartInfo.Arguments = "x -p" +s1 + @" E:\test\1.rar";
p1.Start();
//延时,以便进程执行文件能够完成执行
System.Threading.Thread.Sleep(2000);
//判断执行结果
string s2=Application.StartupPath + @"\1.xls";
//判断解压缩的文件是否成功存在
isFileExist = File.Exists(s2);
if (isFileExist == true)
break;
}
//密码是s1变量的值
MessageBox.Show(s1);
...全文
2065 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mzjmicrosoft 2010-02-27
  • 打赏
  • 举报
回复
引用 10 楼 sp1234 的回复:
如果无法实用,那么思路十有八九也是错的。
  • 打赏
  • 举报
回复
如果无法实用,那么思路十有八九也是错的。
段传涛 2010-02-27
  • 打赏
  • 举报
回复
不错,我来看看你的效率。如果好的话 就收藏。
andy1118 2010-02-27
  • 打赏
  • 举报
回复
引用 5 楼 aimeast 的回复:
效率实在太低,别人的程序每秒能暴力上万个密码,你这程序每秒能暴力多少?


我仅仅是抛砖,
我的程序一秒破一次都不行

因为在这它会休息二秒
System.Threading.Thread.Sleep(2000);

希望有好思路的高手指教
andy1118 2010-02-27
  • 打赏
  • 举报
回复
引用 4 楼 lcl_data 的回复:
的确很暴力


ps:没有人的密码是2位数字的吧


谢谢!
我在这仅仅是提供一些思路
希望有更好思路的高手指教指教。
比如密码若是字母和数字的组合应该如何
不知道密码是多少位如何处理

我的一位朋友只记得他自己EXCEL的压缩文件密码是四位的全数字的密码
但具体是什么他忘记了,然后找我帮忙
我就利用上面的这个帮他找回了密码
sosoyiyi 2010-02-27
  • 打赏
  • 举报
回复
楼上的,人家抛砖砸到你了?我支持楼主
aimeast 2010-02-27
  • 打赏
  • 举报
回复
效率实在太低,别人的程序每秒能暴力上万个密码,你这程序每秒能暴力多少?
十八道胡同 2010-02-27
  • 打赏
  • 举报
回复
的确很暴力



ps:没有人的密码是2位数字的吧
codefan2000 2010-02-27
  • 打赏
  • 举报
回复
思路不错,帮顶。。。
cppwizard_alvin 2010-02-27
  • 打赏
  • 举报
回复
不错

,学习下
whb147 2010-02-27
  • 打赏
  • 举报
回复
路过


学习
爱如少年 2010-02-27
  • 打赏
  • 举报
回复
可以改进成多线程的,就更快了
codefan2000 2010-02-27
  • 打赏
  • 举报
回复
思路不错,帮顶。。。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧