資源描述:
《窮舉破解excel、word文檔密碼論文》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、窮舉破解EXCEL、WORD文檔密碼論文摘要:本文討論了如何使用VB編程,通過(guò)窮舉法解除EXCEL文檔和icrosoftOffice組件。⑴新建VB工程,并對(duì)其初始化新建一個(gè)VB工程,取名Get_PassMain。首先選擇“工程”菜單中的“引用”,在“引用”對(duì)話(huà)框中選擇“MicrosoftExcel10.0ObjectLibrary”和“MicrosofticrosofticrosoftmonDialogcontrol6.0”,以便在窗體設(shè)計(jì)中使用微調(diào)控件和對(duì)話(huà)框控件。⑵在FrmMain窗體上添加控件在FrmMain窗體上,按照下圖的位置添加表1中的控件,然后根據(jù)表1修改每個(gè)對(duì)象的屬性
2、。表1:序號(hào)控件名稱(chēng)控件屬性及其屬性值1FrameName=Frame1,Caption=選擇加密文件(*.DOC、*.XLS)2FrameName=Frame2,Caption=選定密碼字符范圍:3FrameName=Frame3,Caption=選擇密碼的長(zhǎng)度:4boBoe=bo15mandButtonName=CmdBroandButtonName=CmdStartCrack,Caption=開(kāi)始破解7mandButtonName=CmdQuit,Caption=退出系統(tǒng)8CheckBoxName=ChkDigital,Caption=數(shù)字(10)9CheckBoxName=Ch
3、kLoe=ChkUppercase,Caption=大寫(xiě)字母(26)11CheckBoxName=ChkSpace,Caption=空格(1)12CheckBoxName=ChkBracket,Caption=括號(hào)(6)13CheckBoxName=ChkOthers,Caption=其他OEM字符(26)14TextBoxName=txtPasse=txtPasse=Text117UpDoe=UpDoent=1BuddyControl=txtPasse=UpDoent=1BuddyControl=txtPassonDialogName=Dialog,DialogTitle=請(qǐng)選擇加密
4、的Excel或sgBox"錯(cuò)誤:沒(méi)有選擇'需要解密的文件'",,"請(qǐng)選擇需要解密的文件..."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="開(kāi)始破解"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'顯示破解進(jìn)度Text1.RefreshIfErr.Number0Then'如果解密成功,打開(kāi)文檔,顯示密碼,退出過(guò)程Err.ClearElse'MsgBox"dStartCrack.MousePointer=0CmdStartCrack.Caption="開(kāi)始破解"blnProcessing=FalseSetdStartCrack.Caption="開(kāi)始破解"IfblnProcessingThenMsgBox"沒(méi)有找到密碼,可能是密碼位數(shù)不對(duì)!"
7、,,"提示信息..."blnProcessing=FalseEndSub3.時(shí)間復(fù)雜度分析一個(gè)算法的時(shí)間復(fù)雜度,是指該算法的時(shí)間耗費(fèi),是該算法所求解問(wèn)題規(guī)模n的函數(shù)。根據(jù)前面講的實(shí)現(xiàn)原理,我們知道,破解算法的時(shí)間耗費(fèi)主要集中在嘗試打開(kāi)OFFICE文檔上,因此,當(dāng)我們假設(shè)破解一個(gè)N位字符串密碼,且選定密碼字符范圍的總字符數(shù)為ArrayLen時(shí),該算法的時(shí)間復(fù)雜度是O(ArrayLen)。即,當(dāng)N確定后,該算法的時(shí)間復(fù)雜度是N次方階;當(dāng)Array