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: 4
Default Speed up password cracker in Excel ?

Hello,

I have made a password cracker for Excel, which gives the password to
unprotect a sheet. It works up to a 12 position password by trying all the
options. The problem is that it take too much time.

Does anybody know how to speed up this macro ?

Greetings,
Aalt
================================================== =====
Option Explicit
Public win_a As String
Public win_b As String
Public passo As String
Public Const A_MAX As Integer = 110
Public Const B_MAX As Integer = 36

Sub SH_openen()
'=Dimensioning
Dim tel_01 As Integer
Dim tel_02 As Integer
Dim tel_03 As Integer
Dim tel_04 As Integer
Dim tel_05 As Integer
Dim tel_06 As Integer
Dim tel_07 As Integer
Dim tel_08 As Integer
Dim tel_09 As Integer
Dim tel_10 As Integer
Dim tel_11 As Integer
Dim tel_12 As Integer
Dim ZZ(1 To 110) As String
Dim file_name As String
Dim sheet_name As String
'= Configuration
win_a = ActiveWorkbook.Name
Worksheets("SH_Open").Range("C7").ClearContents
file_name = Worksheets("SH_Open").Range("C5").Value
sheet_name = Worksheets("SH_Open").Range("C6").Value
Worksheets("SH_Open").Range("C9").Value = Now()
ZZ(1) = "a"
ZZ(2) = "b"
ZZ(3) = "c"
ZZ(4) = "d"
ZZ(5) = "e"
ZZ(6) = "f"
ZZ(7) = "g"
ZZ(8) = "h"
ZZ(9) = "i"
ZZ(10) = "j"
ZZ(11) = "k"
ZZ(12) = "l"
ZZ(13) = "m"
ZZ(14) = "n"
ZZ(15) = "o"
ZZ(16) = "p"
ZZ(17) = "q"
ZZ(18) = "r"
ZZ(19) = "s"
ZZ(20) = "t"
ZZ(21) = "u"
ZZ(22) = "v"
ZZ(23) = "w"
ZZ(24) = "x"
ZZ(25) = "y"
ZZ(26) = "z"
ZZ(27) = "A"
ZZ(28) = "B"
ZZ(29) = "C"
ZZ(30) = "D"
ZZ(31) = "E"
ZZ(32) = "F"
ZZ(33) = "G"
ZZ(34) = "H"
ZZ(35) = "I"
ZZ(36) = "J"
ZZ(37) = "K"
ZZ(38) = "L"
ZZ(39) = "M"
ZZ(40) = "N"
ZZ(41) = "O"
ZZ(42) = "P"
ZZ(43) = "Q"
ZZ(44) = "R"
ZZ(45) = "S"
ZZ(46) = "T"
ZZ(47) = "U"
ZZ(48) = "V"
ZZ(49) = "W"
ZZ(50) = "X"
ZZ(51) = "Y"
ZZ(52) = "Z"
ZZ(53) = "0"
ZZ(54) = "1"
ZZ(55) = "2"
ZZ(56) = "3"
ZZ(57) = "4"
ZZ(58) = "5"
ZZ(59) = "6"
ZZ(60) = "7"
ZZ(61) = "8"
ZZ(62) = "9"
ZZ(63) = "'"
ZZ(64) = "-"
ZZ(65) = "!"
ZZ(66) = """"
ZZ(67) = "#"
ZZ(68) = "$"
ZZ(69) = "%"
ZZ(70) = "&"
ZZ(71) = "("
ZZ(72) = ")"
ZZ(73) = "*"
ZZ(74) = ","
ZZ(75) = "."
ZZ(76) = ":"
ZZ(77) = ";"
ZZ(78) = "?"
ZZ(79) = "@"
ZZ(80) = "["
ZZ(81) = "\"
ZZ(82) = "]"
ZZ(83) = "^"
ZZ(84) = "_"
ZZ(85) = "`"
ZZ(86) = "{"
ZZ(87) = "|"
ZZ(88) = "}"
ZZ(89) = "~"
ZZ(90) = "¦"
ZZ(91) = "¨"
ZZ(92) = "´"
ZZ(93) = "¸"
ZZ(94) = "+"
ZZ(95) = "<"
ZZ(96) = "="
ZZ(97) = ""
ZZ(98) = "±"
ZZ(99) = "«"
ZZ(100) = "»"
ZZ(101) = "¢"
ZZ(102) = "£"
ZZ(103) = "§"
ZZ(104) = "µ"
ZZ(105) = "¼"
ZZ(106) = "½"
ZZ(107) = "¾"
ZZ(108) = "¹"
ZZ(109) = "²"
ZZ(110) = "³"
On Error Resume Next
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
win_a = ActiveWorkbook.Name
Workbooks.Open Filename:=file_name
'Actie bij 1 positie
For tel_01 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_01
'Actie bij 2 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_02
Next tel_01
'Actie bij 3 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) & ZZ(tel_03)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_03
Next tel_02
Next tel_01
'Actie bij 4 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) & ZZ(tel_03) &
ZZ(tel_04)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 5 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) & ZZ(tel_03) &
ZZ(tel_04) & ZZ(tel_05)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 6 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) & ZZ(tel_03) &
ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 7 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) & ZZ(tel_03)
& ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 8 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
For tel_08 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) &
ZZ(tel_03) & ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07) & ZZ(tel_08)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect
password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_08
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 9 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
For tel_08 = 1 To A_MAX
For tel_09 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02) &
ZZ(tel_03) & ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07) & ZZ(tel_08)
& ZZ(tel_09)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect
password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_09
Next tel_08
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 10 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
For tel_08 = 1 To A_MAX
For tel_09 = 1 To A_MAX
For tel_10 = 1 To A_MAX
If Range("A1").Value = "Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) & ZZ(tel_02)
& ZZ(tel_03) & ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07) &
ZZ(tel_08) & ZZ(tel_09) & ZZ(tel_10)
Application.StatusBar = passo
Sheets(sheet_name).Unprotect
password:=passo
Range("A1").Value = "Aalt"
End If
Next tel_10
Next tel_09
Next tel_08
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 11 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
For tel_08 = 1 To A_MAX
For tel_09 = 1 To A_MAX
For tel_10 = 1 To A_MAX
For tel_11 = 1 To A_MAX
If Range("A1").Value = "Aalt"
Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) &
ZZ(tel_02) & ZZ(tel_03) & ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07)
& ZZ(tel_08) & ZZ(tel_09) & ZZ(tel_10) & ZZ(tel_11)
Sheets(sheet_name).Unprotect
password:=passo
Application.StatusBar =
passo
Range("A1").Value = "Aalt"
End If
Next tel_11
Next tel_10
Next tel_09
Next tel_08
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Actie bij 12 posities
For tel_01 = 1 To A_MAX
For tel_02 = 1 To A_MAX
For tel_03 = 1 To A_MAX
For tel_04 = 1 To A_MAX
For tel_05 = 1 To A_MAX
For tel_06 = 1 To A_MAX
For tel_07 = 1 To A_MAX
For tel_08 = 1 To A_MAX
For tel_09 = 1 To A_MAX
For tel_10 = 1 To A_MAX
For tel_11 = 1 To A_MAX
For tel_12 = 1 To A_MAX
If Range("A1").Value =
"Aalt" Then
Call endings
Exit Sub
Else
passo = ZZ(tel_01) &
ZZ(tel_02) & ZZ(tel_03) & ZZ(tel_04) & ZZ(tel_05) & ZZ(tel_06) & ZZ(tel_07)
& ZZ(tel_08) & ZZ(tel_09) & ZZ(tel_10) & ZZ(tel_11) & ZZ(tel_12)
Application.StatusBar =
passo

Sheets(sheet_name).Unprotect password:=passo
Range("A1").Value =
"Aalt"
End If
Next tel_12
Next tel_11
Next tel_10
Next tel_09
Next tel_08
Next tel_07
Next tel_06
Next tel_05
Next tel_04
Next tel_03
Next tel_02
Next tel_01
'Afronden
Application.Calculation = xlCalculationAutomatic
Calculate
Worksheets("SH_Open").Range("C10").Value = Now()
End Sub

Private Sub endings()
Application.Calculation = xlCalculationAutomatic
Calculate
win_b = ActiveWorkbook.Name
Workbooks(win_b).Close SaveChanges:=False
Windows(win_a).Activate
Worksheets("SH_Open").Range("C7").Value = passo
Worksheets("SH_Open").Range("C10").Value = Now()
End Sub


 
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
Password Cracker of Excel 2003 spreadsheet Douggg Excel Discussion (Misc queries) 9 April 23rd 13 12:03 PM
excel password cracker freeware Excel_Learner Excel Discussion (Misc queries) 8 January 29th 13 01:52 AM
password cracker for spreadsheet S S Excel Worksheet Functions 0 June 21st 07 08:49 PM
Need excel password cracker. Groenie Excel Worksheet Functions 1 February 2nd 06 04:26 PM
how to automate opening a password protected excel file? e.g. a .xls that has a password set in the security tab. Daniel Excel Worksheet Functions 0 June 23rd 05 11:56 PM


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

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

About Us

"It's about Microsoft Excel"