EXCEL密码破解无需任何工具插件超简单.doc

上传人:sk****8 文档编号:4211859 上传时间:2019-10-04 格式:DOC 页数:11 大小:66.50KB
下载 相关 举报
EXCEL密码破解无需任何工具插件超简单.doc_第1页
第1页 / 共11页
EXCEL密码破解无需任何工具插件超简单.doc_第2页
第2页 / 共11页
EXCEL密码破解无需任何工具插件超简单.doc_第3页
第3页 / 共11页
EXCEL密码破解无需任何工具插件超简单.doc_第4页
第4页 / 共11页
EXCEL密码破解无需任何工具插件超简单.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、此方法无需任何工具只需要按照以下步骤操作就可以破解 EXCEL 密码,方便简单快捷 EXCEL 密码破解 1打开文件 2工具- 宏- 录制新宏- 输入名字如:aa 3停止录制(这样得到一个空宏) 4工具- 宏- 宏,选 aa,点编辑按钮 5删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧) 6关闭编辑窗口 7工具- 宏-宏,选 AllInternalPasswords,运行,确定两次,等 2 分钟,再确定.OK, 没有密码了! 内容如下: Public Sub AllInternalPasswords() Breaks worksheet and workbook structur

2、e passwords. Bob McCormick probably originator of base code algorithm modified for coverage of workbook structure / windows passwords and for multiple passwords Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1) Modified 2003-Apr-04 by JEM: All msgs to constants, and eliminate one Exit Sub (Ve

3、rsion 1.1.1) Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine *.doc 20 Label Name=Label1, Caption=破解进度: 21 Label Name=Label3, Caption=从: 22 Label Name=Label5, Caption=到: 为以上对象编写下列代码 为了便于理解,程序中增加了适当的注释。 Option Explicit Private Sub CmdBrowse_Click() Dialog.ShowOpen

4、show the dialog Combo1.Text = Dialog.FileName set the Filename text box to the selected file Combo1.Refresh End Sub Private Sub CmdQuit_Click() End End Sub Private Sub CmdStartCrack_Click() Static blnProcessing As Boolean Dim wd As New Word.Application, xls As New Excel.Application Dim OpenReturn Di

5、m strpath, pass, StrTemp, all_char(100) As String Dim J, K, Password_Start_Long, Password_End_Long, ArrayLen As Integer Dim I, Temp As Long ArrayLen = 0 数组初始化 If ChkDigital.Value = 1 Then For J = ArrayLen To ArrayLen + 9 all_char(J) = Chr(Asc(“0“) + J - ArrayLen) Next J ArrayLen = ArrayLen + 10 End

6、If If ChkLowercase.Value = 1 Then For J = ArrayLen To ArrayLen + 25 all_char(J) = Chr(Asc(“a“) + J - ArrayLen) Next J ArrayLen = ArrayLen + 26 End If If ChkUppercase.Value = 1 Then For J = ArrayLen To ArrayLen + 25 all_char(J) = Chr(Asc(“A“) + J - ArrayLen) Next J ArrayLen = ArrayLen + 26 End If If

7、ChkSpace.Value = 1 Then all_char(ArrayLen) = “ “ ArrayLen = ArrayLen + 1 End If If ChkBracket.Value = 1 Then all_char(ArrayLen) = “(“ all_char(ArrayLen+1) = “)“ all_char(ArrayLen+2) = “ all_char(ArrayLen+3) = “ all_char(ArrayLen+4) = “ all_char(ArrayLen+5) = “ ArrayLen = ArrayLen + 6 End If If ChkOt

8、hers.Value = 1 Then For J = ArrayLen To ArrayLen + 6 33 to 39 all_char(J) = Chr(33 + J - ArrayLen) Next ArrayLen = ArrayLen + 7 For J = ArrayLen To ArrayLen + 5 42 to 47 all_char(J) = Chr(42 + J - ArrayLen) Next J ArrayLen = ArrayLen + 6 For J = ArrayLen To ArrayLen + 6 58 to 64 all_char(J) = Chr(58

9、 + J - ArrayLen) Next J ArrayLen = ArrayLen + 7 all_char(ArrayLen) = Chr(92) ArrayLen = ArrayLen + 1 For J = ArrayLen To ArrayLen + 2 94 to 96 all_char(J) = Chr(94 + J - ArrayLen) Next J ArrayLen = ArrayLen + 3 all_char(ArrayLen) = Chr(124) all_char(ArrayLen+1) = Chr(126) ArrayLen = ArrayLen + 2 End

10、 If If ArrayLen = 0 Then MsgBox “错误:没有选择密码使用的字符“, , “请选择密码使用的字符范围.“ Exit Sub End If If blnProcessing Then If MsgBox(“真的要中断解密过程吗? “, vbYesNo, “用户中断任务“) = vbYes Then blnProcessing = False Else CmdStartCrack.Caption = “中断破解“ blnProcessing = True strpath = Combo1.Text If strpath = “ Then MsgBox “错误:没有选择

11、需要解密的文件“, , “请选择需要解密的文件.“ Exit Sub End If strpath = Trim(strpath) Password_Start_Long = Val(txtPasswordStartLong.Text) Password_End_Long = Val(txtPasswordEndLong.Text) If Password_Start_Long Password_End_Long Then Password_Start_Long = Val(txtPasswordEndLong.Text) Password_End_Long = Val(txtPassword

12、StartLong.Text) End If Label1.Caption = “破解进度:“ Label1.Refresh On Error Resume Next If UCase(Right(strpath, 3) = “XLS“ Then For K = Password_Start_Long To Password_End_Long 破解 excel 开始 For I = 0 To ArrayLen K - 1 pass = “ Temp = I For J = 1 To K - 1 Temp = Temp ArrayLe pass = all_char(Temp Mod Array

13、Len) + pass Next J pass = pass + all_char(I Mod ArrayLen) Set OpenReturn = xls.Workbooks.Open(FileName:=strpath, Password:=pass) Text1.Text = pass 显示破解进度 Text1.Refresh If Err.Number 0 Then 如果解密成功,打开文档,显示密码,退出过程 Err.Clear Else Label1.Caption = “文档密码:“ Text1.Text = pass Me.Refresh xls.Visible = True C

14、mdStartCrack.MousePointer = 0 CmdStartCrack.Caption = “开始破解“ blnProcessing = False Set xls = Nothing Exit Sub End If DoEvents If Not blnProcessing Then Exit For Next I If Not blnProcessing Then Exit For Next K xls.Quit Set xls = Nothing Else For K = Password_Start_Long To Password_End_Long 破解 word 开

15、始 For I = 0 To ArrayLen K - 1 pass = “ Temp = I For J = 1 To K - Temp = Temp ArrayLen pass = all_char(Temp Mod ArrayLen) + pass Next J pass = pass + all_char(I Mod ArrayLen) OpenReturn = wd.Documents.Open(FileName:=strpath, passworddocument:=pass) Text1.Text = pass 显示破解进度 Text1.Refresh If Err.Number

16、 0 Then 如果解密成功,打开文档,显示密码,退出过程 Err.Clear Else MsgBox “word password“ Label1.Caption = “文档密码:“ Text1.Text = pass Me.Refresh wd.Visible = True CmdStartCrack.MousePointer = 0 CmdStartCrack.Caption = “开始破解“ blnProcessing = False Set wd = Nothing Exit Sub End If DoEvents If Not blnProcessing Then Exit For

17、 Next I If Not blnProcessing Then Exit For Next K wd.Quit Set wd = Nothing End If CmdStartCrack.Caption = “开始破解“ If blnProcessing Then MsgBox “没有找到密码,可能是密码位数不对!“, , “提示信息.“ blnProcessing = False End Sub 3. 时间复杂度分析 一个算法的时间复杂度,是指该算法的时间耗费,是该算法所求解问题规模 n 的函数。根据前面讲的实现 原理,我们知道,破解算法的时间耗费主要集中在尝试打开 OFFICE 文档上

18、,因此,当我们假设破解一个 N 位字符串密码,且选定密码字符范围的总字符数为 ArrayLen 时,该算法的时间复杂度是 O(ArrayLenN)。 即,当 N 确定后,该算法的时间复杂度是 N 次方阶;当 ArrayLen 确定后,该算法的时间复杂度是指数阶。 都是高数量级的时间复杂度。 4. 说明 穷举法解密对系统资源的占用是十分惊人的,在解密的过程中最好不要运行其他应用程序。如果安装有瑞 星等杀毒软件,应将杀毒软件的“office 安全助手”去掉,以便加快程序的运行速度。 该程序在 WinXP+OfficeXP+VB6.0 环境下测试通过,笔者随便测试了一个 5 位数字密码,在 P4 机器上,8 分钟左右即可解开口令。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 自然科学

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。