欢迎来到天天文库
浏览记录
ID:25182595
大小:57.50 KB
页数:5页
时间:2018-11-18
《穷举破解excel、word文档密码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、穷举破解EXCEL、WORD文档密码摘要:本文讨论了如何使用VB编程,通过穷举法解除EXCEL文档和WORD文档的密码。并在破解过程中加入了中断,以方便用户随时中断破解过程。oent=1BuddyControl=txtPassonDialogName=Dialog,DialogTitle=请选择加密的Excel或e=Label1,Caption=破解进度:21LabelName=Label3,Caption=从:22LabelName=Label5,Caption=到:ArrayLen+2EndIfIfArrayLen=0The
2、nMsgBox"错误:没有选择'密码使用的字符'",,"请选择密码使用的字符范围..."ExitSubEndIfIfblnProcessingThenIfMsgBox("真的要中断解密过程吗?",vbYesNo,"用户中断任务")=vbYesThenblnProcessing=FalseElseCmdStartCrack.Caption="中断破解"blnProcessing=Truestrpath=bo1.TextIfstrpath=""ThenMsgBox"错误:没有选择'需要解密的文件'",,"请选择需要解密的文件..."
3、ExitSubEndIfstrpath=Trim(strpath)PasseNextIfUCase(Right(strpath,3))="XLS"ThenForK=Passp=IForJ=1ToK-1Temp=TempArrayLepass=all_char(TempModArrayLen)+passNextJpass=pass+all_char(IModArrayLen)SetOpenReturn=xls.e.Refreshxls.Visible=TrueCmdStartCrack.MousePointer=0CmdStar
4、tCrack.Caption="开始破解"blnProcessing=FalseSetxls=NothingExitSubEndIfDoEventsIfNotblnProcessingThenExitForNextIIfNotblnProcessingThenExitForNextKxls.QuitSetxls=NothingElseForK=Passp=IForJ=1ToK-Temp=TempArrayLenpass=all_char(TempModArrayLen)+passNextJpass=pass+all_char(
5、IModArrayLen)OpenReturn=ents.Open(FileName:=strpath,passent:=pass)Text1.Text=pass'显示破解进度Text1.RefreshIfErr.Number<>0Then'如果解密成功,打开文档,显示密码,退出过程Err.ClearElse'MsgBox"dStartCrack.MousePointer=0CmdStartCrack.Caption="开始破解"blnProcessing=FalseSetdStartCrack.Caption="开
6、始破解"IfblnProcessingThenMsgBox"没有找到密码,可能是密码位数不对!",,"提示信息..."blnProcessing=FalseEndSub3.时间复杂度分析一个算法的时间复杂度,是指该算法的时间耗费,是该算法所求解问题规模n的函数。根据前面讲的实现原理,我们知道,破解算法的时间耗费主要集中在尝试打开OFFICE文档上,因此,当我们假设破解一个N位字符串密码,且选定密码字符范围的总字符数为ArrayLen时,该算法的时间复杂度是O(ArrayLen)。即,当N确定后,该算法的时间复杂度是N次方阶;当
7、ArrayLen确定后,该算法的时间复杂度是指数阶。都是高数量级的时间复杂度。4.说明穷举法解密对系统资源的占用是十分惊人的,在解密的过程中最好不要运行其他应用程序。如果安装有瑞星等杀毒软件,应将杀毒软件的“office安全助手”去掉,以便加快程序的运行速度。该程序在WinXP+OfficeXP+VB6.0环境下测试通过,笔者随便测试了一个5位数字密码,在P4机器上,8分钟左右即可解开口令。
此文档下载收益归作者所有