文档库 最新最全的文档下载
当前位置:文档库 › EXCEL密码破解

EXCEL密码破解

EXCEL密码破解

1\打开文件

2\工具---宏----录制新宏---输入名字如:aa

3\停止录制(这样得到一个空宏)

4\工具---宏----宏,选aa,点编辑按钮

5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧)

6\关闭编辑窗口

7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!!

内容如下:

Public Sub AllInternalPasswords()

' Breaks worksheet and workbook structure 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 (V ersion 1.1)

' Modified 2003-Apr-04 by JEM: All msgs to constants, and

' eliminate one Exit Sub (V ersion 1.1.1)

' Reveals hashed passwords NOT original passwords

Const DBLSPACE As String = vbNewLine & vbNewLine

Const AUTHORS As String = DBLSPACE & vbNewLine & _

"Adapted from Bob McCormick base code by" & _

"Norman Harker and JE McGimpsey"

Const HEADER As String = "AllInternalPasswords User Message"

Const VERSION As String = DBLSPACE & "V ersion 1.1.1 2003-Apr-04"

Const REPBACK As String = DBLSPACE & "Please report failure " & _

"to the microsoft.public.excel.programming newsgroup."

Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _

"now be free of all password protection, so make sure you:" & _

DBLSPACE & "SA VE IT NOW!" & DBLSPACE & "and also" & _

DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _

DBLSPACE & "Also, remember that the password was " & _

"put there for a reason. Don't stuff up crucial formulas " & _

"or data." & DBLSPACE & "Access and use of some data " & _

"may be an offense. If in doubt, don't."

Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION

Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _

"Proceeding to unprotect sheets." & AUTHORS & VERSION

Const MSGTAKETIME As String = "After pressing OK button this " & _

"will take some time." & DBLSPACE & "Amount of time " & _

"depends on how many different passwords, the " & _ "passwords, and your computer's specification." & DBLSPACE & _ "Just be patient! Make me a coffee!" & AUTHORS & VERSION Const MSGPWORDFOUND1 As String = "Y ou had a Worksheet " & _ "Structure or Windows Password set." & DBLSPACE & _

"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _ "Note it down for potential future use in other workbooks by " & _ "the same person who set this password." & DBLSPACE & _

"Now to check and clear other passwords." & AUTHORS & VERSION Const MSGPWORDFOUND2 As String = "Y ou had a Worksheet " & _ "password set." & DBLSPACE & "The password found was: " & _ DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _ "future use in other workbooks by same person who " & _

"set this password." & DBLSPACE & "Now to check and clear " & _ "other passwords." & AUTHORS & VERSION

Const MSGONLYONE As String = "Only structure / windows " & _ "protected with the password that was just found." & _

ALLCLEAR & AUTHORS & VERSION & REPBACK

Dim w1 As Worksheet, w2 As Worksheet

Dim i As Integer, j As Integer, k As Integer, l As Integer

Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer

Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer

Dim PWord1 As String

Dim ShTag As Boolean, WinTag As Boolean

Application.ScreenUpdating = False

With ActiveWorkbook

WinTag = .ProtectStructure Or .ProtectWindows

End With

ShTag = False

For Each w1 In Worksheets

ShTag = ShTag Or w1.ProtectContents

Next w1

If Not ShTag And Not WinTag Then

MsgBox MSGNOPWORDS1, vbInformation, HEADER

Exit Sub

End If

MsgBox MSGTAKETIME, vbInformation, HEADER

If Not WinTag Then

MsgBox MSGNOPWORDS2, vbInformation, HEADER

Else

On Error Resume Next

Do 'dummy do loop

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 With ActiveWorkbook

.Unprotect Chr(i) & Chr(j) & Chr(k) & _

Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _

Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If .ProtectStructure = False And _

.ProtectWindows = False Then

PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _

Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

MsgBox Application.Substitute(MSGPWORDFOUND1, _ "$$", PWord1), vbInformation, HEADER

Exit Do 'Bypass all for...nexts

End If

End With

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

Loop Until True

On Error GoTo 0

End If

If WinTag And Not ShTag Then

MsgBox MSGONLYONE, vbInformation, HEADER

Exit Sub

End If

On Error Resume Next

For Each w1 In Worksheets

'Attempt clearance with PWord1

w1.Unprotect PWord1

Next w1

On Error GoTo 0

ShTag = False

For Each w1 In Worksheets

'Checks for all clear ShTag triggered to 1 if not.

ShTag = ShTag Or w1.ProtectContents

Next w1

If ShTag Then

For Each w1 In Worksheets

With w1

If .ProtectContents Then

On Error Resume Next

Do 'Dummy do loop

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66

For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66

For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

.Unprotect Chr(i) & Chr(j) & Chr(k) & _

Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If Not .ProtectContents Then

PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _

Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _

Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

MsgBox Application.Substitute(MSGPWORDFOUND2, _

"$$", PWord1), vbInformation, HEADER

'leverage finding Pword by trying on other sheets

For Each w2 In Worksheets

w2.Unprotect PWord1

Next w2

Exit Do 'Bypass all for...nexts

End If

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

Loop Until True

On Error GoTo 0

End If

End With

Next w1

End If

MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER

End Sub

穷举破解EXCEL、WORD文档密码

摘要:本文讨论了如何使用VB编程,通过穷举法解除EXCEL文档和WORD文档的密码。并在破解过程中加入了中断,以方便用户随时中断破解过程。

关键字:穷举法、解密、EXCEL文档、WORD文档、密码

Excel和Word提供了多种方法限制访问用户文档,以免未经授权者的查看和更改。但在信息化的今天,用户需要记忆的密码太多,一旦密码丢失,用户将无法打开或访问该文档,给用户造成很大的损失。能否借助计算机的高速运行,解开密码呢?通过尝试,笔者认为:在无法弄清Excel和Word加密算法的情况下,利用穷举法尝试解密文档,是解密唯一的选择。

1. 实现原理

本程序选用VB6.0编写,并充分利用了Office组件中的对象库,穷举尝试各种口令,达到解密文档的目的。

⑴巧用整数的取整及取余,产生密码字符串

Excel和Word文档密码可以是字母、数字、空格以及符号的任意组合,最长可达15 个字符,且区分大小写。

本程序的破解过程利用一个两层循环,产生选定字符的排列组合(尝试密码),其中外层循环控制密码的位数,内层循环生成N位密码的所有排列组合。产生尝试密码的方法是:将一个N位字符串密码(password)作为一个“数值”,该“数值”每个位上的“数字”属于选定字符范围,且该“数值”与一个整数(X)一一对应,并满足以下条件:0 ≤X ≤ArrayLenN-1(ArrayLen是选定密码字符范围的总字符数,如:仅选定数字时,ArrayLen=10;仅选定数字和小写字母时,ArrayLen=10+26=36);对X整除、取余N-1次,对每次的余数Y做以下操作:password = password + CharArray(Y) (注:CharArray是存放选定字符的一维数组),最后做以下操作:password = CharArray(X MOD ArrayLen) + password,产生的password 就是整数X对应的N位字符串。

⑵利用VB的错误处理功能,尝试口令破解

当运行程序尝试一个密码时(用该密码打开文档),若密码错误,则会产生运行错误。为此,必须在尝试口令前,使用On Error 语句打开一个错误处理程序;由于本程序是尝试各种口令,当一个口令错误时,直接尝试下一个口令即可,因此,应使用“On Error Resume Next”语句。

那么,如何得知找到口令了呢?VB有一个内部错误对象Err,它的Number 属性中的值是用来确定发生错误的原因。在尝试一个口令后,检查Err.Number中的值,以确定该口令是否正确。

⑶破解过程中的中断

利用穷举法解密对系统资源的占用是十分惊人的,在解密的过程中CPU的利用率几乎是100%,若不加入解密过程中的中断,计算机系统会处于一种假死机状态。为此,在破解过程的内循环中加入了DoEvents函数。DoEvents函数提供了一种取消任务的简便方法,它将控制切换到操作环境内核。只要此环境中的所有应用程序都有机会响应待处理事件,应用程序就又恢复控制。使用该函数的优点是:不会使应用程序放弃焦点,且后台事件能够得到有效处理。

2. 具体实现过程

编程实现时,需要机器安装有VB应用程序及Microsoft Office组件。

⑴新建VB工程,并对其初始化

新建一个VB工程,取名Get_Password,将启动窗体命名为FrmMain。首先选择“工程”菜单中的“引用”,在“引用”对话框中选择“Microsoft Excel10.0 Object Library”和“Microsoft Word10.0 Object Library”(注意:如果

安装的是Office2000或Office97,应该选择Excel对象库和Word对象库的9.0版或8.0版)。其次在“工程”菜单中“部件”对话框中,选择添加“Microsoft Windows common controls -2.5(sp2)”和“Microsoft Commo n Dialog control 6.0”,以便在窗体设计中使用微调控件和对话框控件。

⑵在FrmMain窗体上添加控件

在FrmMain窗体上,按照下图的位置添加表1中的控件,然后根据表1修改每个对象的属性。

表1:

序号控件名称控件属性及其属性值

1 Frame Name=Frame1,Caption=选择加密文件(*.DOC、*.XLS)

2 Frame Name=Frame2,Caption=选定密码字符范围:

3 Frame Name=Frame3,Caption=选择密码的长度:

4 ComboBow Name=Combo1

5 CommandButton Name=CmdBrowse,Caption=浏览

6 CommandButton Name=CmdStartCrack,Caption=开始破解

7 CommandButton Name=CmdQuit,Caption=退出系统

8 CheckBox Name=ChkDigital,Caption=数字(10)

9 CheckBox Name=ChkLowercase,Caption=小写字母(26)

10 CheckBox Name=ChkUppercase,Caption=大写字母(26)

11 CheckBox Name=ChkSpace,Caption=空格(1)

12 CheckBox Name=ChkBracket,Caption=括号(6)

13 CheckBox Name=ChkOthers,Caption=其他OEM字符(26)

14 TextBox Name=txtPasswordStartLong,Text=2

15 TextBox Name=txtPasswordEndLong,Text=2

16 TextBox Name=Text1

17 UpDown Name=UpDown1,BuddyProperty=Text,Wrap=TRUE,Increment=1

BuddyControl=txtPasswordStartLong,Max=15,Min=

18 UpDown Name=UpDown2,BuddyProperty=Text,Wrap=TRUE,Increment=1

BuddyControl=txtPasswordEndLong,Max=15,Min=1

19 CommonDialog Name=Dialog,DialogTitle=请选择加密的Excel或Word文档

Filter=Excel(*.xls),Word(*.doc)|*.xls;*.doc

20 Label Name=Label1,Caption=破解进度:

21 Label Name=Label3,Caption=从:

22 Label Name=Label5,Caption=到:

⑶为以上对象编写下列代码

为了便于理解,程序中增加了适当的注释。

Option Explicit

Private Sub CmdBrowse_Click()

Dialog.ShowOpen '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

Dim 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 The n

For J = ArrayLen To ArrayLen + 9

all_char(J) = Chr(Asc("0") + J - ArrayLen)

Next J

ArrayLen = ArrayLen + 10

End If

If ChkLowercase.Value = 1 The n

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 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 ChkOthers.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 + 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 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 "错误:没有选择'需要解密的文件'", , "请选择需要解密的文件..."

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(txtPasswordStartLong.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 ArrayLen) + 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

CmdStartCrack.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开始

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 <> 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

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文档上,因此,当我们假设破解一个N 位字符串密码,且选定密码字符范围的总字符数为ArrayLen时,该算法的时间复杂度是O(ArrayLen^N)。即,当N确定后,该算法的时间复杂度是N次方阶;当ArrayLen确定后,该算法的时间复杂度是指数阶。都是高数量级的时间复杂度。

4. 说明

穷举法解密对系统资源的占用是十分惊人的,在解密的过程中最好不要运行其他应用程序。如果安装有瑞星等杀毒软件,应将杀毒软件的“office安全助手”去掉,以便加快程序的运行速度。

该程序在WinXP+OfficeXP+VB6.0环境下测试通过,笔者随便测试了一个5位数字密码,在P4机器上,8

分钟左右即可解开口令。

强力破解EXCEL工作表保护密码

强力破解EXCEL工作表保护 在日常工作中,您是否遇到过这样的情况:您用Excel编制的报表、表格、程序等,在单元格中设置了公式、函数等,为了防止其他人修改您的设置或者防止您自己无意中修改,您可能会使用Excel的工作表保护功能,但时间久了保护密码容易忘记,这该怎么办?有时您从网上下载的Excel格式的小程序,您想修改,但是作者加了工作表保护密码,怎么办?您只要按照以下步骤操作,Excel工作表保护密码瞬间即破! 1、打开您需要破解保护密码的Excel文件; 2、依次点击菜单栏上的工具---宏----录制新宏,输入宏名字 如:aa; 3、停止录制(这样得到一个空宏); 4、依次点击菜单栏上的工具---宏----宏,选aa,点编辑按钮; 5、删除窗口中的所有字符(只有几个),替换为下面的内容; Option Explicit Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " &

破解excel保护密码的宏代码

Option Explicit Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets." & AUTHORS & VERSION Const MSGTAKETIME As String = "After pressing OK button this " & _ "will take some time." & DBLSPACE & "Amount of time " & _ "depends on how many different passwords, the " & _ "passwords, and your computer's specification." & DBLSPACE & _ "Just be patient! Make me a coffee!" & AUTHORS & VERSION Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _ "Structure or Windows Password set." & DBLSPACE & _ "The password found was: " & DBLSPACE & "$$" & DBLSPACE & _ "Note it down for potential future use in other workbooks by " & _ "the same person who set this password." & DBLSPACE & _ "Now to check and clear other passwords." & AUTHORS & VERSION Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _ "password set." & DBLSPACE & "The password found was: " & _

EXCEL密码保护破解2010

EXCEL密码保护破解方法: 1\打开文件 2\工具---宏----录制新宏---输入名字如:aa 3\停止录制(这样得到一个空宏) 4\工具---宏----宏,选aa,点编辑按钮 5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧) 6\关闭编辑窗口 7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!! 代码如下: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1)

' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets." & AUTHORS & VERSION

如何破解EXCEL工作表保护密码忘记密码怎么办

如何破解EXCEL工作表保护密码忘记密码怎么办 1.新建一个EXCEL工作表,而后点击另存为,讲表格保存为启用宏的工作表 * ■乐 碍乐雄迥 -* >计■尙 二0Q) .... ㈱ 亍总HI “ ■ I i ■ * \ Jfcft禺呵第證Mkrp^pft Qffiy fxeel JDQ7 工作褰x I gm [EHMI呦 怔■: Ad>51iAk±VAt4f t?nfl; 2. 一次点击开发工具---录制新宏,在弹出的对话框内修改宏名称而后确定 ft 真面布局公式敖掠审同视冒开裁工員 D F 254 3.依次点击开发工具停止录制宏,宏录制完成

| J fFik^j| 匮独 画Mffi植近三t 陥比疙上窸甜 空釦模式劑执行龙话框 代再 4.依次点击开发工具,---宏----在弹出的对话框找到我们刚才录制的宏名称而后进入 VBA界面 处8屯简开林工貝 能t ■BS| 斫厨丁亓的二作輝 说閉 5.在VBA界面,全选里面的代码,而后删除,讲里面的代码全部删除完

Mkroioft visual - Microsoft Office Excel 200?工荷txlsx 文件⑥锚也迺世)磁?惜式型谒试曲迳行逊Zft? 尹碗詠笛莆口呦 [

破解EXCEL宏密码

如何破解excel宏的保护密码 第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”退出; 再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PasswordBreaker(图3),点击“确定”退出;

第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBrea ker”并点击“编辑”,打开“MicrosoftVisual Basic”编辑器,用如下内容替换右侧窗口中的所有代码: Sub PasswordBreaker() Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer Dim i1 As Integer, i2 As Integer, i3 As Integer Dim i4 As Integer, i5 As Integer, i6 As Integer On Error Resume Next For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) ActiveWorkbook.Sheets(1).Select Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _

破解EXCEL工作表保护密码的简单方法

破解EXCEL工作表保护密码的简单方法 你是否给excel文件设置了保护工作表密码,现在要撤消工作表保护,但密码却忘了,自己把锁在了门外,真尴尬呀!怎么办?下面的方法将轻松解决: 本人亲测,完全可以成功,但是本方法只用于解决自己的文件忘记密码,请勿进行违法行为,一切后果本人不负责任 1.打开你的受保护的文件 2.工具---宏----录制新宏---输入名字如:aa 3.停止录制(这样得到一个空宏) 4.工具---宏----宏,选aa,点编辑按钮 5.删除窗口中的所有字符,替换为下面的内容:(复制吧) 6.关闭编辑窗口 7.工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!! 内容如下: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine&vbNewLine Const AUTHORS As String = DBLSPACE &vbNewLine& _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should "& _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was "& _ "put there for a reason. Don't stuff up crucial formulas "& _ "or data." & DBLSPACE & "Access and use of some data "& _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on "& _ "sheets, or workbook structure or windows." & AUTHORS & VERSION

30秒破解EXCEL密码

30秒破解EXCEL密码 1\打开文件 2\工具---宏----录制新宏---输入名字如:aa 3\停止录制(这样得到一个空宏) 4\工具---宏----宏,选aa,点编辑按钮 5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧) 6\关闭编辑窗口 7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!! 内容如下: Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets." & AUTHORS & VERSION Const MSGTAKETIME As String = "After pressing OK button this " & _ "will take some time." & DBLSPACE & "Amount of time " & _ "depends on how many different passwords, the " & _ "passwords, and your computer's specification." & DBLSPACE & _

Excel中如何破解“撤销工作表保护密码

Excel中如何破解“撤销工作表保护密码”并获取原始密码 1. 打开需要破解密码的Excel; 2. 按Alt+F11进入VBA编辑界面; 3. 插入-- 模块(Module); 4. 在右边Module的空白编辑区域,复制粘贴下面所有内容 5. F5,运行该VBA命令; Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets." & AUTHORS & VERSION Const MSGTAKETIME As String = "After pressing OK button this " & _ "will take some time." & DBLSPACE & "Amount of time " & _ "depends on how many different passwords, the " & _ "passwords, and your computer's specification." & DBLSPACE & _ "Just be patient! Make me a coffee!" & AUTHORS & VERSION Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _ "Structure or Windows Password set." & DBLSPACE & _ "The password found was: " & DBLSPACE & "$$" & DBLSPACE & _

破解excel密码宏程序代码

1.将你要破解的Excel文件关闭,切记一定要关闭呀!然后新建一个Excel文 件 2.打开新建的这个Excel,按下alt+F11,打开vb界面,新建一个模块,如图 所示

3.将代码复制到这个模块中,代码如下: Private Sub VBAPassword() '你要解保护的Excel文件路径 Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解") If Dir(Filename) = "" Then MsgBox "没找到相关文件,清重新设置。" Exit Sub Else FileCopy Filename, Filename & ".bak" '备份文件。 End If Dim GetData As String * 5 Open Filename For Binary As #1 Dim CMGs As Long Dim DPBo As Long For i = 1 To LOF(1) Get #1, i, GetData If GetData = "CMG=""" Then CMGs = i If GetData = "[Host" Then DPBo = i - 2: Exit For Next If CMGs = 0 Then MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示" Exit Sub End If Dim St As String * 2 Dim s20 As String * 1 '取得一个0D0A十六进制字串 Get #1, CMGs - 2, St '取得一个20十六制字串 Get #1, DPBo + 16, s20

破解excel工作保护表密码的方式

在Excel这一单元的教学中,我们经常使用Excel的工作表保护功能,将工作表用密码保护起来,以防学生操作时进行修改,但是这样一来有可能会无法进行一些操作(如输入公式等),时间久了保护的密码也有可能忘记了,这该怎么办呢?只要按照以下步骤操作,Excel工作表保护密码瞬间即破! 1、打开您需要破解保护密码的Excel文件。 2、执行“工具→宏→录制新宏”命令,输入宏的名字(如:aa)。 3、停止录制(这样得到一个空宏)。 4、执行“工具→宏→宏”命令,选aa,点击“编辑”按钮。 5、删除窗口中的所有字符,替换为下面的内容(蓝色部分): Option Explicit Public Sub AllInternalPasswords() ' Breaks worksheet and workbook structure 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 (Version 1.1.1) ' Reveals hashed passwords NOT original passwords Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "Adapted from Bob McCormick base code by" & _ "Norman Harker and JE McGimpsey" Const HEADER As String = "AllInternalPasswords User Message" Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" Const REPBACK As String = DBLSPACE & "Please report failure " & _ "to the microsoft.public.excel.programming newsgroup." Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ "now be free of all password protection, so make sure you:" & _ DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ DBLSPACE & "Also, remember that the password was " & _ "put there for a reason. Don't stuff up crucial formulas " & _ "or data." & DBLSPACE & "Access and use of some data " & _ "may be an offense. If in doubt, don't." Const MSGNOPWORDS1 As String = "There were no passwords on " & _ "sheets, or workbook structure or windows." & AUTHORS & VERSION Const MSGNOPWORDS2 As String = "There was no protection to " & _ "workbook structure or windows." & DBLSPACE & _ "Proceeding to unprotect sheets." & AUTHORS & VERSION Const MSGTAKETIME As String = "After pressing OK button this " & _ "will take some time." & DBLSPACE & "Amount of time " & _ "depends on how many different passwords, the " & _ "passwords, and your computer's specification." & DBLSPACE & _ "Just be patient! Make me a coffee!" & AUTHORS & VERSION Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _ "Structure or Windows Password set." & DBLSPACE & _

相关文档
相关文档 最新文档