LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Question about Worksheet Security

The code determines an acceptable password and unprotects the sheet - same
as if you provided it. What is the mystery. This is called a brute force
attack. Excel's implementation of passwords for sheet and workbook level
are particularly weak.

Excel isn't designed to be secure. Password protection is to assist the
user in not making unintentional errors.

This is fairly common knowledge among most users of Excel. Welcome to the
group. <g

Event the more robust file level protection and password protection of code
can all be broken with commercial password crackers.

--
Regards,
Tom Ogilvy

"Philip" wrote in message
...
Hi,

I don't understand why this code works...surely if I put a password on a
worksheet to protect it, then only that password should unprotect it...

what is wrong with this, is it a bug in Excel?

here is the code:
Sub PasswordBreaker()
'Author unknown
'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
Dim lCount As Long

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)
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)
Debug.Print lCount
Exit Sub
End If
lCount = lCount + 1
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub


thanks if anyone can explain this behaviour of Excel where it seems to not
in actual fact be secure at all...

Philip



 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Security Question JBW Excel Discussion (Misc queries) 2 August 29th 08 03:16 PM
2007 question - Macro Security Otto Moehrbach Excel Discussion (Misc queries) 2 October 28th 07 07:40 PM
Question about Worksheet Security Paul B Excel Programming 0 April 7th 05 03:30 PM
2003 to 2000 security question Sunset Superman Excel Discussion (Misc queries) 2 January 27th 05 03:31 PM
Macro security question Daniel Bonallack[_2_] Excel Programming 6 January 6th 04 10:10 PM


All times are GMT +1. The time now is 08:17 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"