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 🙂
Jednoduché, elegantné riešenie. Funguje bezchybne. Za 2 min. našiel náhradné heslo pre zamknuté objekty v hárku.