监理检测网论坛

注册

 

发新话题 回复该主题

删除EXCEL工作表保护密码 [复制链接]

1#
Excel工作表保护密码破解方法:œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
1\打开文件œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
2\工具---宏----录制新宏---输入名字如:aaœêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
3\停止录制(这样得到一个空宏)œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
4\工具---宏----宏,选aa,点编辑按钮œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
5\删除窗口中的所有字符(只有几个),替换为下面的内容:(复制吧)œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
6\关闭编辑窗口œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
7\工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!!内容如下:Public Sub AllInternalPasswords() œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' Breaks worksheet and workbook structure passwords. Bob McCormick œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' probably originator of base code algorithm modified for coverage œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' of workbook structure / windows passwords and for multiple passwords œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' Modified 2003-Apr-04 by JEM: All msgs to constants, and œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' eliminate one Exit Sub (Version 1.1.1) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
' Reveals hashed passwords NOT original passwords œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const DBLSPACE As String = vbNewLine & vbNewLine œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const AUTHORS As String = DBLSPACE & vbNewLine & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Adapted from Bob McCormick base code by" & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Norman Harker and JE McGimpsey" œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const HEADER As String = "AllInternalPasswords User Message" œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const REPBACK As String = DBLSPACE & "Please report failure " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"to the microsoft.public.excel.programming newsgroup." œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"now be free of all password protection, so make sure you:" & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
DBLSPACE & "Also, remember that the password was " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"put there for a reason. Don't stuff up crucial formulas " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"or data." & DBLSPACE & "Access and use of some data " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"may be an offense. If in doubt, don't." œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGNOPWORDS1 As String = "There were no passwords on " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"sheets, or workbook structure or windows." & AUTHORS & VERSION œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGNOPWORDS2 As String = "There was no protection to " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"workbook structure or windows." & DBLSPACE & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Proceeding to unprotect sheets." & AUTHORS & VERSION œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGTAKETIME As String = "After pressing OK button this " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"will take some time." & DBLSPACE & "Amount of time " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"depends on how many different passwords, the " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"passwords, and your computer's specification." & DBLSPACE & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Just be patient! Make me a coffee!" & AUTHORS & VERSION œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Structure or Windows Password set." & DBLSPACE & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Note it down for potential future use in other workbooks by " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"the same person who set this password." & DBLSPACE & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"Now to check and clear other passwords." & AUTHORS & VERSION œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"password set." & DBLSPACE & "The password found was: " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"future use in other workbooks by same person who " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"set this password." & DBLSPACE & "Now to check and clear " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"other passwords." & AUTHORS & VERSION œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Const MSGONLYONE As String = "Only structure / windows " & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"protected with the password that was just found." & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
ALLCLEAR & AUTHORS & VERSION & REPBACK œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim w1 As Worksheet, w2 As Worksheet œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim i As Integer, j As Integer, k As Integer, l As Integer œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim PWord1 As String œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Dim ShTag As Boolean, WinTag As Boolean œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Application.ScreenUpdating = False œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
With ActiveWorkbook œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
WinTag = .ProtectStructure Or .ProtectWindows œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End With œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
ShTag = False œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For Each w1 In Worksheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
ShTag = ShTag Or w1.ProtectContents œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next w1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If Not ShTag And Not WinTag Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox MSGNOPWORDS1, vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Exit Sub œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox MSGTAKETIME, vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If Not WinTag Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox MSGNOPWORDS2, vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Else œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error Resume Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Do 'dummy do loop œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
With ActiveWorkbook œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
.Unprotect Chr(i) & Chr(j) & Chr(k) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If .ProtectStructure = False And _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
.ProtectWindows = False Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox Application.Substitute(MSGPWORDFOUND1, _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"$$", PWord1), vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Exit Do 'Bypass all for...nexts œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End With œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next: Next: Next: Next: Next: Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next: Next: Next: Next: Next: Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Loop Until True œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error GoTo 0 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If WinTag And Not ShTag Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox MSGONLYONE, vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Exit Sub œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error Resume Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For Each w1 In Worksheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
'Attempt clearance with PWord1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
w1.Unprotect PWord1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next w1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error GoTo 0 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
ShTag = False œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For Each w1 In Worksheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
'Checks for all clear ShTag triggered to 1 if not. œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
ShTag = ShTag Or w1.ProtectContents œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next w1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If ShTag Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For Each w1 In Worksheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
With w1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If .ProtectContents Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error Resume Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Do 'Dummy do loop œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
.Unprotect Chr(i) & Chr(j) & Chr(k) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
If Not .ProtectContents Then œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox Application.Substitute(MSGPWORDFOUND2, _ œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
"$$", PWord1), vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
'leverage finding Pword by trying on other sheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
For Each w2 In Worksheets œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
w2.Unprotect PWord1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next w2 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Exit Do 'Bypass all for...nexts œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next: Next: Next: Next: Next: Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next: Next: Next: Next: Next: Next œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Loop Until True œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
On Error GoTo 0 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End With œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
Next w1 œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End If œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
End SubœêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
分享 转发
TOP
2#

回复:删除EXCEL工作表保护密码

œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
我在黄河上
TOP
3#

回复:删除EXCEL工作表保护密码

???œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
TOP
4#

回复:删除EXCEL工作表保护密码

œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
TOP
5#

回复:删除EXCEL工作表保护密码

谢谢了œêsC(rƒÝbbs.3c3t.com ¡……¶Çiâa
TOP
发主话题 回复该主题