欢迎来到天天文库
浏览记录
ID:10467052
大小:55.00 KB
页数:4页
时间:2018-07-06
《穷举破解excel、word文档密码论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、穷举破解EXCEL、WORD文档密码论文摘要:本文讨论了如何使用VB编程,通过穷举法解除EXCEL文档和icrosoftOffice组件。⑴新建VB工程,并对其初始化新建一个VB工程,取名Get_PassMain。首先选择“工程”菜单中的“引用”,在“引用”对话框中选择“MicrosoftExcel10.0ObjectLibrary”和“MicrosofticrosofticrosoftmonDialogcontrol6.0”,以便在窗体设计中使用微调控件和对话框控件。⑵在FrmMain窗体上添加控件在FrmMain窗体上,按照下图的位置添加表1中的控件,然后根据表1修改每个对象的属性
2、。表1:序号控件名称控件属性及其属性值1FrameName=Frame1,Caption=选择加密文件(*.DOC、*.XLS)2FrameName=Frame2,Caption=选定密码字符范围:3FrameName=Frame3,Caption=选择密码的长度:4boBoe=bo15mandButtonName=CmdBroandButtonName=CmdStartCrack,Caption=开始破解7mandButtonName=CmdQuit,Caption=退出系统8CheckBoxName=ChkDigital,Caption=数字(10)9CheckBoxName=Ch
3、kLoe=ChkUppercase,Caption=大写字母(26)11CheckBoxName=ChkSpace,Caption=空格(1)12CheckBoxName=ChkBracket,Caption=括号(6)13CheckBoxName=ChkOthers,Caption=其他OEM字符(26)14TextBoxName=txtPasse=txtPasse=Text117UpDoe=UpDoent=1BuddyControl=txtPasse=UpDoent=1BuddyControl=txtPassonDialogName=Dialog,DialogTitle=请选择加密
4、的Excel或sgBox"错误:没有选择'需要解密的文件'",,"请选择需要解密的文件..."ExitSubEndIfstrpath=Trim(strpath)PasseNextIfUCase(Right(strpath,3))="XLS"ThenForK=Passp=IForJ=1ToK-1Temp=Temp/ArrayLepass=all_char(TempModArrayLen)+passNextJpass=pass+all_char(IModArrayLen)SetOpenReturn=xls.e.Refreshxls.Visible=TrueCmdStartCrack.Mou
5、sePointer=0CmdStartCrack.Caption="开始破解"blnProcessing=FalseSetxls=NothingExitSubEndIfDoEventsIfNotblnProcessingThenExitForNextIIfNotblnProcessingThenExitForNextKxls.QuitSetxls=NothingElseForK=Passp=IForJ=1ToK-Temp=Temp/ArrayLenpass=all_char(TempModArrayLen)+passNextJpass=pass+all_char(IModArrayLe
6、n)OpenReturn=ents.Open(FileName:=strpath,passent:=pass)Text1.Text=pass'显示破解进度Text1.RefreshIfErr.Number0Then'如果解密成功,打开文档,显示密码,退出过程Err.ClearElse'MsgBox"dStartCrack.MousePointer=0CmdStartCrack.Caption="开始破解"blnProcessing=FalseSetdStartCrack.Caption="开始破解"IfblnProcessingThenMsgBox"没有找到密码,可能是密码位数不对!"
7、,,"提示信息..."blnProcessing=FalseEndSub3.时间复杂度分析一个算法的时间复杂度,是指该算法的时间耗费,是该算法所求解问题规模n的函数。根据前面讲的实现原理,我们知道,破解算法的时间耗费主要集中在尝试打开OFFICE文档上,因此,当我们假设破解一个N位字符串密码,且选定密码字符范围的总字符数为ArrayLen时,该算法的时间复杂度是O(ArrayLen)。即,当N确定后,该算法的时间复杂度是N次方阶;当Array
此文档下载收益归作者所有