Zabudnuté heslo pre Excel
V jeden pekný deň som našiel v svojej pošte prosbu od kolegu, že by jeho partnerka rada odomknúť zamknutý excelovský hárok. Tak som sa do toho pustil a začal som pátrať. Zistil som, že excel zamyká svoje veci pomocou nejakého algoritmu, a heslo sa nedá vyčítať zo súboru. Jedine čo použiteľné je bruttal force attack – čiže generovanie hesiel a skúšanie, ktoré zaberie.
Taktiež som sa dočítal, že funkcia s ktorou sa prepočítava pravosť hesiel nie je celkom v poriadku a viacej hesiel môže odomknúť jeden hárok – čiže stačilo napísať generátor reťazcov a začať skúšať. Najbližšie ku excelovskému dokumentu (čiže by to malo byť najrýchlejšie) majú VBS skripty, ktoré sa spúšťajú priamo v excelovskom dokumente.
Tu je kód VBS skriptu:
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
Trvalo približne 5 sekúnd kým skript našiel náhradu hesla.
Dúfam, že tento VBS skript pomôže ďalej.
Ahojte chlapci.
Dostal som sa do takej osemetnej situacie a toto je asi moja posledna moznost. Dnes je Utorok, v piatok musim odovzdat jednu pracu, no vystupne hodnoty mam v excely a moj sikovny spoluziak mi tam copypastol nejake heslo. On nevie co. Ja neviem co. A potrebujem to otvorit. Znalosti z jedneho semestra programovania mi nestacia na to, aby som si vytvoril tento skript a preto by som sa Vas chcel opytat, ci by ste boli taki ochotni a trosku mi pomohli s mojim problemom. Ak by to slo, prosim ozvyte sa mi na mail.. Velmi pekne dakujem
Oki…posielam mail
Zrejme to tak dobre nefunguje, lebo moje heslo nahradit nedokazali
No, ako som ti uz byval pisal, tento skript je pre zamknute bunky na harok, po pripade harok samotny, ale nie pre cely subor