Password Cracker of Protected Sheet in Excel 2013 and Later using VBA
Password Cracker of Protected Sheet in Excel 2013 and Later using VBA
Anybody knows if there are other ways to crack a password of a protected sheet in excel? I have been using these codes ever since but now, it doesn't seem to work anymore. The file just says "Not Responding" every time I run the code. I'm using MS Office 2013.
Sub PasswordBreaker()
'Breaks worksheet password protection.
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)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub
abc
@MacroMan -- It still doesn't work.
– Meedee
May 19 '16 at 21:51
Did you change anything on the computer recently? Some vba can cause problems in Windows 10, I've seen this in other pieces of macros I've worked on.
– Histerical
May 19 '16 at 21:54
No, I haven't. Still using Windows 7
– Meedee
May 19 '16 at 21:58
I've used this a lot - great work. Can confirm it works with Office 2016
– Jonny Wright
Dec 4 '17 at 22:22
3 Answers
3
Excel has updated their sheet protection security in Excel 2013 and newer so this macro won't work anymore, see here.
From the link it sounds like if you save the file as an xls file (Excel 1997-2003) it is forced to drop the newer security as it wasn't compatible with the file type. You could then run your macro.
Saving as an older file version may make certain parts of the workbook not work.
With a (speed-) modification, the approach still works with Excel 2013 and Excel 2016. Please find details in my below answer.
– Kawi42
Sep 4 '18 at 12:46
I'm not sure how this works but I was able to Unprotect the sheet. I did a "save as" and changed the Type to: "Excel 97-2003". When I opened the file & unprotect the sheet, it did not ask for a password anymore. :) And my workbook still works fine.
Since a recent update, Excel has an issue with a high try rate to command Unprotect. A few slow-down makes the code run again: Put something like this right before the Unprotect line, i.e. into the most inner loop:
Debug.Print Chr(i) & Chr(j) & Chr(k) _
& Chr(l) & Chr(m) & Chr(i1) _
& Chr(i2) & Chr(i3) & Chr(i4) _
& Chr(i5) & Chr(i6) & Chr(n)
DoEvents
With this (speed-) modification, the initial mentioned approach works also with Excel 2013 and Excel 2016.
I don't think that works. If so post exact code and let's test!
– PGCodeRider
Jul 26 '18 at 21:58
The exact code it the code as in first post of this thread, plus the here mentioned lines (to be inserted right before the Unprotect command). How it works: The extra lines slow down the trials rate, and this is just all that's needed for a few Excel versions. The here shown extra lines are just a working example, what was a sufficient slow-down effect in my case, i.e. prevented VBA from freezing. I.e., if the original code (as in first post of this thread) works for you, then evrything is fine. But if it freezes VBA instead, then my comment should solve the issue.
– Kawi42
Jul 29 '18 at 12:08
Thanks for contributing an answer to Stack Overflow!
But avoid …
To learn more, see our tips on writing great answers.
Required, but never shown
Required, but never shown
By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy
If you save a worksheet with a basic password (
abc
) and use this does it still work?– Sam
May 19 '16 at 21:33