O vaza se sparge usor, dar un excel?
Azi vreau sa "va invat la prostii". Nu luati agenda, nu va voi vorbi despre kamasutra ci de ceva mai di hai. De-una zi cineva mi-a dat tema, cu ochii plini de rugaminti la care pipota mea nu poate rezista, un fisier de excel, care avea o mare parte din celule protejate la editare. Lasand la o parte inconstienta persoanei in cauza ("se exista" copii si mai rai ca mine vad), care dorea sa modifice campuri cu formule esentiale pentru coerenta rezultatelor intoarse, am incercat sa gasesc o cale de a accesa acele zone...interzise. Nu am spart niciun fisier, stati cuminti. Studiind un pic problema, am tras concluzia ca minunatul excel marca Muciosoft foloseste o teorie de template-uri pe care le asigneaza unor parole dupa niste algoritmi proprii. Nu m-au interesat in acea clipa nici algoritmii respectivi si nici parolele puse.(nr. de caractere, tip de caractere, semne speciale, etc). M-a interesat doar numarul de combinatii posibile de templaturi care ar putea sa existe. Dupa ce m-am dumirit cu asta, restul a fost floricica pe campie. Floricica fara frica asadar. Cu un mic programel in visual basic am generat si incercat combinatiile posibile, care nu sunt exagerat de multe. Nu vreau sa intru in detalii mai tehnice de atat, ca antinevralgicul e scump. Si nurofenul, fasconalul si alte d-astea de durere de cap. Aspirina sarantocului ar fi o solutie, dar oamenii evoluati nu se iau dupa sfaturi babesti, dau fuga la marmacie.(cred ca stiti bancul cu..."ma mut"...). Asa, deci program facut, cum sa-l rulam?....Pai cum se ruleaza oameni buni orice virus intr-un fisier word .doc(x) sau excel .xls(x)? Ati ghicit, printr-un macrou pe care sa il rulam "cu mana". Merge si cu piciorul, insa aici ma refeream ca nu l-am lasat "neam" sa se ruleze singur din dorinta de al controla eu pe el in actiune. Dupa 90-100 de secunde, adica mai repede decat schimbati voi canalul tv cand vedeti un anumit "om"(discutabil om) politic, deci in vreun minut si jumate am obtinut forma de template de tipul AAABBAAAABCB (asta nu e parola ci tiparul, amprenta ei corespunzatoare cu care fisierul se deblocheaza). Restul e simplu apoi. Mergi si faci unlock cells in toate zonele pe care le doresti, apoi..... Apoi ai acces la orice din acel fisier, ai acces, modifici, stergi, strici si apoi iti dai palme. Voi pune si scriptul pentru cei interesati. De auto-dat palme.... Daca o luati ca orice prim-ministru destept, cu copy/paste nu aveti cum s-o ratati. Sa nu spuneti nimanui unde ati invatat patania asta. Ca oricum nu o sa va creada.... CopilRau.
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