OVH Cloud OVH Cloud

protectkiller Accelerer comment

1 réponse
Avatar
Lepage Stephane
Celui ci est pour 5 , onpeut aussi faire 3 ou 4 ou 6 mais cela devient long
comment accelerer
et surtout
si lecode est dévérouilé
il n'est pas restitué correctementni dans variable ni dans statusbar???
nota 48 to 122 ds la plupart des cas les autres caractères ne sont^pas
utilisés.
janvier est un exemple
Sub protectkiller5()
Dim car1 As String
Dim car2 As String
Dim car3 As String
Dim car4 As String
Dim car5 As String
Dim machaine As String

With Application
.StatusBar = "patienter"
.ScreenUpdating = False
End With

On Error Resume Next

For i = 48 To 122
car1 = Chr(i)
For j = 48 To 122
car2 = Chr(j)
For k = 48 To 122
car3 = Chr(k)
For l = 48 To 122
car4 = Chr(l)
For m = 48 To 122
car5 = Chr(m)
If ActiveWorkbook.Worksheets("janvier").ProtectContents = True Then

machaine = car1 & car2 & car3 & car4 & car5
codif = i & " " & j & " " & k & " " & l & " " & m
Application.StatusBar = machaine
ActiveWorkbook.Worksheets("janvier").Unprotect (machaine)
Else:


Exit For
Exit For
Exit For
Exit For
Exit For

MsgBox "got it "
End If
Next m
Next l
Next k
Next j
Next i

'ActiveWorkbook.Worksheets("feuil2").Cells(1, 1) = codif & " machaine"

With Application

.ScreenUpdating = 1
End With
MsgBox "terminé "
MsgBox " "
Application.StatusBar = False
End Sub

1 réponse

Avatar
Modeste
;-)))
en effet un peu long !!!!!

comme tu as pu t'en rendre compte la protection est
illusoire !!!
mais elle à au moins le mérite d'exister afin d'éviter
l'intrusion par n'importe qui.

je ne ferai pas l'apologie du crackage de programme même
si à titre didactique cela peut etre instructif.

D'illustres contributeurs ont déja ici même proposé ce
genre d'algorithme en précisant que la protection est
faite par HashCode, signifiant par là même que plusieurs
mots peuvent déverrouiller une feuille.

ces même contributeurs avait même proposé des algorithmes
utilisant la récursivité. Un mot de passe de 12 caractères
résistant moins de 15 secondes !!!

la conclusion finale concernant la force brute (test de
mot de passe en boucle) , il faut utiliser des mot de
passe d'au moins 40 caractères pour avoir une protection
qui tienne plus longtemps !!!

@+
-----Message d'origine-----
Celui ci est pour 5 , onpeut aussi faire 3 ou 4 ou 6 mais
cela devient long

comment accelerer
et surtout
si lecode est dévérouilé
il n'est pas restitué correctementni dans variable ni
dans statusbar???

nota 48 to 122 ds la plupart des cas les autres
caractères ne sont^pas

utilisés.
janvier est un exemple
Sub protectkiller5()
Dim car1 As String
Dim car2 As String
Dim car3 As String
Dim car4 As String
Dim car5 As String
Dim machaine As String

With Application
.StatusBar = "patienter"
.ScreenUpdating = False
End With

On Error Resume Next

For i = 48 To 122
car1 = Chr(i)
For j = 48 To 122
car2 = Chr(j)
For k = 48 To 122
car3 = Chr(k)
For l = 48 To 122
car4 = Chr(l)
For m = 48 To 122
car5 = Chr(m)
If ActiveWorkbook.Worksheets("janvier").ProtectContents =
True Then


machaine = car1 & car2 & car3 & car4 & car5
codif = i & " " & j & " " & k & " " & l & " " & m
Application.StatusBar = machaine
ActiveWorkbook.Worksheets("janvier").Unprotect (machaine)
Else:


Exit For
Exit For
Exit For
Exit For
Exit For

MsgBox "got it "
End If
Next m
Next l
Next k
Next j
Next i

'ActiveWorkbook.Worksheets("feuil2").Cells(1, 1) = codif
& " machaine"


With Application

..ScreenUpdating = 1
End With
MsgBox "terminé "
MsgBox " "
Application.StatusBar = False
End Sub


.