14
11
I have an Excel workbook.
Two years before I set password protection option for one of the sheets. Now I have forgotten the password. Is there any way to recover the password of that Excel sheet?
14
11
I have an Excel workbook.
Two years before I set password protection option for one of the sheets. Now I have forgotten the password. Is there any way to recover the password of that Excel sheet?
17
You cannot recover THE password, but you can unprotect the sheet(The hash used to protect the sheet is quite prone to collisions in the old versions of excel, so generating a collision is quite fast here).
There are scripts availale the will brute force open your sheet within a very short amount of time.
Take a look here for example: http://www.theofficeexperts.com/VBASamples/Excel02.htm
Here's the code:
Sub PasswordBreaker()
'Author unknown but submitted by brettdj of www.experts-exchange.com
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
Any non-vba way? I'm on OSX and the whole file is protected. – Jonny – 2014-07-11T00:59:22.510
I'm pretty sure this won't work on Excel files protected with Excel 2013 and later, due to increased encryption levels. – Ƭᴇcʜιᴇ007 – 2017-02-01T18:55:18.627
Unfortunately it doesn't work anymore on my 64bits excel 2016 – Pierre44 – 2018-05-14T08:28:48.877
2+1 Works like a charm and gets a collision in under 10 seconds. – Johan - reinstate Monica – 2011-12-21T09:01:20.780
+1 possible solution. Other way around it..program an app with Apache POI and Digester. Get through the file and copy it without touching the password. (Yes in some ways it is possible) – user8885 – 2009-09-22T09:26:17.240
Wow. Incredible that collisions are (almost?) certain under 194,560 tries. I've had mine at the about 3000th iteration. That's about 17 bits total entropy! – jonallard – 2013-01-30T02:10:13.943