一、如何破解excel宏密码的方法
如何破解excel宏密码的方法:
破解宏密码步骤1:打开需要破解的文件,并点开需要输入密码的界面,如图
破解宏密码步骤2:使用EXCEL.EXE重新打开一个工作簿。
破解宏密码步骤3:打开新工作簿的VBA代码区域,并插入一个模块。
破解宏密码步骤4:插入如下代码
Sub test()
Dim st, nd, th3, th4, th5, th6, th7, th8 As Variant
Dim ii, jj, kk, ll, mm, nn, oo, pp, qq As Integer
Dim PADN, PD, IJ, JK, PADNO, speed
speed = 0.005
st = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
nd = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th3 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th4 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th5 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th6 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th7 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
th8 = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
PADN = InputBox("How long the password is", "Guilin Hu", 4)
PADNO = CInt(PADN)
For IJ = 1 To 100
If Sheet1.Cells(IJ, 1) = "" Then
Sheet1.Cells(IJ, 1) = Now
Exit For
Else
End If
Next IJ
PauseTime = 2
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
Select Case (PADNO)
Case 1
For ii = 0 To 61
PD = st(ii)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next ii
Case 2
For ii = 0 To 61
For jj = 0 To 61
PD = st(ii) & nd(jj)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next jj
Next ii
Case 3
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
PD = st(ii) & nd(jj) & th3(kk)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next kk
Next jj
Next ii
Case 4
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
For ll = 0 To 61
PD = st(ii) & nd(jj) & th3(kk) & th4(ll)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next ll
Next kk
Next jj
Next ii
Case 5
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
For ll = 0 To 61
For mm = 0 To 61
PD = st(ii) & nd(jj) & th3(kk) & th4(ll) & th5(mm)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next mm
Next ll
Next kk
Next jj
Next ii
Case 6
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
For ll = 0 To 61
For mm = 0 To 61
For nn = 0 To 61
PD = st(ii) & nd(jj) & th3(kk) & th4(ll) & th5(mm) & th6(nn)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next nn
Next mm
Next ll
Next kk
Next jj
Next ii
Case 7
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
For ll = 0 To 61
For mm = 0 To 61
For nn = 0 To 61
For oo = 0 To 61
PD = st(ii) & nd(jj) & th3(kk) & th4(ll) & th5(mm) & th6(nn) & th7(oo)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next oo
Next nn
Next mm
Next ll
Next kk
Next jj
Next ii
Case 8
For ii = 0 To 61
For jj = 0 To 61
For kk = 0 To 61
For ll = 0 To 61
For mm = 0 To 61
For nn = 0 To 61
For oo = 0 To 61
For pp = 0 To 61
PD = st(ii) & nd(jj) & th3(kk) & th4(ll) & th5(mm) & th6(nn) & th7(oo) & th8(pp)
SendKeys PD
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
PauseTime = speed
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
SendKeys "{enter}"
Next pp
Next oo
Next nn
Next mm
Next ll
Next kk
Next jj
Next ii
End Select
For JK = 1 To 100
If Sheet1.Cells(JK, 2) = "" Then
Sheet1.Cells(JK, 2) = Now
Exit For
Else
End If
Next JK
End Sub
破解宏密码步骤5:按F5执行代码,输入密码长度。如果不知道密码的长度,就猜,第一次输1,第二次输2.。。依次试。
破解宏密码步骤6:输入密码长度后,点击确定。并在2s内将鼠标的焦点点在最开始要破解文件的密码输入框里边。接下来的工作就是“静候佳音”了。
破解宏密码步骤7:没有破解不开的密码。主要的是你有时间就好!1位密码破解最长时间:62/(1/0.005)=0.31秒;2位数密码破解最长时间:62*62/(1/0.005)=19.22秒。。。依次类推:N位数密码破解时间:(62)的N次方/(1/0.005)秒的时间。就看您的耐性了!破解完成之后就会自动进去VBA代码模块。
破解宏密码步骤8:接下来就是修改别人的密码了!进去果断点击VBA工程属性,改密码。
二、如何破解excel密码保护
Excel弹出“您试图更改的单元格或图表受保护,因而是只读的。若要修改受保护单元格或图表,请先使用‘撤消工作表保护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。可能会提示您输入密码。”窗口,如图1.
出现这种情况,应该怎么解决呢?经过研究,找到了两种破解Excel工作表保护码的方法。
一、VBA宏代码破解法:
第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”退出(图2);
再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PassWordBreaker(图3),点击“确定”退出;
第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual 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) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了(图4)。
第四步:切换“审阅”选项卡,点击“撤消工作表保护”,然后输入密码即可解除锁定。
二、软件破解法
有许多专门为破解Excel各种密码而制作的软件,Excel Key与Advanced Office Password Recovery就是其中的佼佼者。它们的使用方法简单且破解速度极快。
1. Excel Key
下载(下载地址:http://www.mydown.com/soft/183/183131.html)安装完后运行软件,点击工具栏“Recovery”按钮,找到要破解的文件,软件马上就可以解出密码了(图5)。
2. Advanced Office Password Recovery
下载(下载地址:http://www.mydown.com/soft/utilitie/security/268/410768.shtml)安装完后运行软件,点击工具栏“Open File”按钮,打开要破解的Excel文件,马上就可以看到解出的密码了(图6)。
可以看出,用以上方法读出的密码完全不同,但它们确实均可以解除该工作表的密码保护,这实在是个有趣的问题。
在网上查找了许久,终于找到比较圆满的解释答案:
当Excel工作表采用密码保护时,就会生成一个16位(双字节)长hash值。当输入密码进行验证时,真正进行比较的就是这个hash值。事实上,有很多不同的密码都可以生成同样的hash值。
大家可以试试:
当你用“test”(不含双引号)作为Excel工作表保护密码,你同样可以用“zzyw”(同样不含双引号)这个密码进行解锁。怎么样,神奇吧?
http://www.knowsky.com/345874.html