Home > Windows > Zabudnuté heslo pre Excel

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.

  1. Radoslav
    March 24th, 2009 at 01:34 | #1

    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

  2. March 24th, 2009 at 20:47 | #2

    Oki…posielam mail 🙂

  3. Radoslav
    May 4th, 2009 at 10:39 | #3

    Zrejme to tak dobre nefunguje, lebo moje heslo nahradit nedokazali 🙂

  4. May 4th, 2009 at 19:33 | #4

    No, ako som ti uz byval pisal, tento skript je pre zamknute bunky na harok, po pripade harok samotny, ale nie pre cely subor 🙂

  5. pietro
    August 16th, 2013 at 10:09 | #5

    Jednoduché, elegantné riešenie. Funguje bezchybne. Za 2 min. našiel náhradné heslo pre zamknuté objekty v hárku.

  1. May 16th, 2016 at 05:00 | #1