BRUTE FORCE, L'ALGORYTHME SEUL, PRET À L'UTILISATION

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008 - 17 août 2005 à 10:50
allanbossdu74 Messages postés 1 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 4 avril 2011 - 4 avril 2011 à 00:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33274-brute-force-l-algorythme-seul-pret-a-l-utilisation

allanbossdu74 Messages postés 1 Date d'inscription lundi 4 avril 2011 Statut Membre Dernière intervention 4 avril 2011
4 avril 2011 à 00:56
salu tout le monde pouver vous meder je ne comprend rien jaimerais trouver un mots de passe de fb ?
bibujido Messages postés 1 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 23 mars 2011
23 mars 2011 à 11:57
Je suis actuellement entrain d'essayer d'apprendre à programmer, j'utilise Microsoft Visual Basic 2008 Express, mais je ne comprend pas comment faire fonctionner ce code.
-Le code ci-dessus est-il a copier coller intégralement dans Microsoft Visual Basic 2008 Express dans un nouveau projet (les écrits verts compris) ?
-Quel est le fichier du zip qu'il faut lancer pour faire fonctionner ce programme ?
-Faut il d'autre logiciel pour le faire fonctionner ?
-Dans le zip n'y a t'il pas de fichier executable en .exe ?
-Que faut il modifier/remplacer dans ce code pour qu'il fonctionne ?
Ça fait beaucoup de questions je suis désolé, j'espère avoir un peu d'aide merci d'avance.
bennyas Messages postés 1 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 2 mars 2011
2 mars 2011 à 19:18
salut

tu dit en haut copier et coller la source mais on colle ou ?
eckostreet Messages postés 26 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 3 octobre 2016
19 juil. 2010 à 01:20
salut

J'ai simplifié une source générateur de l'attaque brute force pour les personnes que sa intéresse vous pourrai trouvé a l'adresse suivante "http://www.vbfrance.com/code.aspx?ID=51970" sur vbfrance.

a+
jojo0211 Messages postés 1 Date d'inscription dimanche 26 juin 2005 Statut Membre Dernière intervention 16 février 2010
16 févr. 2010 à 00:54
bonjour, je voudrais savoir comment on fait fonctionner ce prgm, je doit faire quoi pour que ca marche ? pliz
cs_hadri1 Messages postés 24 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 10 juillet 2011
13 déc. 2009 à 13:41
Dsl je n'avais pas vu le commentaire de us_30 donc du coup je répète certaines choses
cs_hadri1 Messages postés 24 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 10 juillet 2011
13 déc. 2009 à 13:35
salut, j'ai repris ce code avec vb 2008 et j'ai trouvé quelques 'optimisations' qui m'ont permis de passer de 40 000 mdps.s-1 à environ 980 000 mdps.s-1 en simple comparaison texte. un ptit million de mdps par seconde c'est déja plus pratique quand tu dois ajouter après des f° pour de hash.
quelques modifs:
°en ne laissant le do events que dans la boucle :
Do While Mid(Depart, id, 1) = CaracteresArrayReverse(0)
Mid(Depart, id, 1) = CaracteresArray(0)
id = id - 1
If id = 0 Then Exit Do 'si tous les caracteres sont le dernier de la liste (voir 1)
DoEvents
Loop

° en enlevant à la fin:
PSW = Depart
DoEvents
on utilisera donc 'depart' dans les autres sub a la place de 'psw'

° en placant 'Dim id As Integer' avant le 'Do'
ainsi qu'en définissant avant le premier 'Do':
Dim cherché As String ChampPass.Text , CA0 As String CaracteresArray(0).ToString , CAR0 As String = CaracteresArrayReverse(0).ToString
ensuite tu remplace dans ta boucle :
Tous les 'CaracteresArrayReverse(0)' et 'CaracteresArray(0)' par 'CAR0' et 'CA0' ce qui evite chercher a chaque fois dans les tableaux
Et surtout 'If Depart ChampPass.Text Then Exit Do' par 'If Depart cherché Then Exit Do' ce qui evite "d'acceder" à la form à chaque tour

° en remplacant 'id = id - 1' par 'id -= 1'

Il reste d'autres modifications , je ne les ai pas toute en tête, mais chacunes ont été testées et elle permettent toutes d'augmenter la vitesse (x 25 environ au total!)
coco44150 Messages postés 1 Date d'inscription lundi 23 novembre 2009 Statut Membre Dernière intervention 23 novembre 2009
23 nov. 2009 à 00:11
cs_monson Messages postés 1 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 5 novembre 2009
5 nov. 2009 à 16:12
Comment on installe ce logiciel??
tibaw Messages postés 7 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 3 décembre 2009
3 oct. 2009 à 13:38
c'est pas sous VB ca tu peut m'aider ?
je suis débutant et j'aimerais comprendre
recement j'ai perdu un mot de passe cela pourait m'aider
1pauvrecon Messages postés 1 Date d'inscription jeudi 28 mai 2009 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 13:42
jarrive pas a lire les fichiers du zip et encore moins a faire fonctionné l'application help!
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
25 janv. 2007 à 22:12
Pour te répondre plus sérieurement, il faudrait que tu apprennes un peu la programmation. En clair tes remarques/questions sont imprécises (pour ne pas dire hors sujet) du fait on ne peut pas répondre exactement de manière concise. Par exemple, le VB et C++, ont seulement des points communs, dû à la structure d'un algorithme... mais ne se ressemble pas vraiment... pour dire cela, il est évident que tu ne connais rien... enfin, passons...
Les remarques sur les optimisations ont été repris dans l'ensemble par kronemburg. Ces remarques perdent leurs intérêts au fur et à mesure des mises à jour... c'est un principe général, dans ce genre de posts... (à croire qu'il faut t'expliquer la roue...)
Pour t'expliquer à quoi sert un désasembleur, ce n'est évidemment pas dans ces posts qu'il faut chercher, mais dans un forum, ou dans des sites d'informations... je pense qu'un peu de recherche sur GOOGLE te donnerais déjà des idées...

Amicalement,
Us.
El_mosquito_3 Messages postés 2 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 25 janvier 2007
25 janv. 2007 à 20:26
Bon ok, je suis pas très malin mais je trouve que le visual basic et le C++ se ressemble pas mal
Après en clair si je veux m'amuser a esayer toutes les combinaisons possible que ce soit pour une page web ou pour un logiciel, est ce qu'il est possible d'utiliser un code comme celui ci ?
Et il faut que j'avou je n'ai pas compris l'interet de ce code !
Par rapport a la lenteur du code c'est que plus haut certains on dit qu'utiliser brute force peut prendre très longtemps, merçi aussi pour l'optimisation je m'en était pas rendu compte, par ce que plus haut certains on parlé d'améliorations possible, merçi a ceux qui les ont faites !
J'ai peut etre fait un petit HS avec mon histoire de déssasembleur mais quelqun pourrait il m'aider via msn ou mail pour m'expliquer un peu tout sa si vous avez du temps
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
25 janv. 2007 à 19:07
Bonjour,

"je sais que je dois être un gros gros boulet" ... NON, penses-tu !

"quelqu'un de bien intentionné pourrait-il refaire le code ... pour qu'il soit le plus rapide possible"
... Euh, je crois qu'il a été déjà optimisé !

"quelqu'un pourrait me réexpliqué avec plus de précision comment on se sert d'un désasembleur"
... Là, franchement, laisse béton ! essayes déjà d'apprendre le VB, tu seras moins frustré !

"Comment se sert-on d'un code comme celui énoncé plus haut. Je ne vois pas comment on peut s'en servir sur une page web."
... Les pages web ne sont pas vraiment le sujet, comme le dit Econs.
... Tiens à titre d'exemple, j'utilisaerais prochainement ce code (ou un autre en force brute) pour déverrouiller un fichier OFFICE !
Voilà à quoi cela pourra servir... mais l'efficacité ne sera très bonne, enfin bref... l'important n'est pas là !

Us.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
24 janv. 2007 à 20:14
1) Perdu, c'est du Visual Basic ! En même temps, tu es sur le site VBFrance. Pour le C++, c'est cppfrance.com
2) Qu'est ce qui te fait dire que celui-ci n'est pas rapide ? L'écrire en C++ le rendrait évidemment plus rapide que s'il était codé en VB ... Mais bon, c'est pas le but ici.
3) Avec le désassembleur, tu changes complètement de sujet là ! Quel rapport avec la source ci-dessus et Visual Basic ?
4) Il serait assez maladroit d'utiliser un tel code sur une page web. As-tu au moins compris ce qu'il fait ?
El_mosquito_3 Messages postés 2 Date d'inscription mardi 23 janvier 2007 Statut Membre Dernière intervention 25 janvier 2007
24 janv. 2007 à 19:49
Bon alors je sait que je doit etre un gros gros boulet mais bon je vais quand meme essayer de vous posez quelques questions du genre :
- En quel language de programation est ce fait (c'est du C++, je suis un débutant et je trouve que sa a un air de ressemblance)
- Sinon quelqun de bien intentionné pourrait il refaire le code comme il le serait pour qu'il soit le plus rapide possible parce que je sens bien que si je modifi quelque chose sa va tournée mal (un peu comme quand on change la recette d'un gateau)
- troisième question :
Est ce que quelqun pourrait me réexpliqué avec plus de précision comment on se sert d'un desasembleur
- 4eme et dernière question :
Comment se sert on d'un code comme celui énoncé plus haut je ne voit pas comment on peut s'en servir sur une page web.
merçi de me répondre le plus vite possible
Si quelqun peut m'éclairer la lanterne : diablo_del_mar@hotmail.fr
El mosquito
cs_Pseud0nyme Messages postés 1 Date d'inscription jeudi 6 juillet 2006 Statut Membre Dernière intervention 7 juillet 2006
7 juil. 2006 à 00:00
1. 'début de la recherche
2. Do
3. LengthDepart = Len(Depart)
4. If Right(Depart, 1) <> CaracteresArrayReverse(0) Then 'si le dernier caractere n'est pas le dernier de la liste
5. Depart = Left(Depart, LengthDepart - 1) & CaracteresArray(InStr(1, Caracteres, Right(Depart, 1), 0))
6. Else 'sinon
7. Dim id As Integer
8. id = LengthDepart
9. Do While Mid(Depart, id, 1) = CaracteresArrayReverse(0)
10. Mid(Depart, id, 1) = CaracteresArray(0) 'tous les caracteres étant le dernier de la liste sont remplacés par le premier
11. id = id - 1
12. If id = 0 Then Exit Do 'si tous les caracteres sont le dernier de la liste (voir 1)
13. DoEvents
14. Loop
15. If id <> 0 Then
16. Mid(Depart, id, 1) = CaracteresArray(InStr(1, Caracteres, Mid(Depart, id, 1), 0)) 'sinon, on remplace le précédent par son suivant dans la liste
17. Else
18. Depart = CaracteresArray(0) & Depart '(1) ajout d'un caracteres à la chaine
19. End If
20. End If
21.
22. If Depart = ChampPass.Text Then Exit Do 'test de la chaine généré (utilisez une fonction à la place du ChampPass.Text pour les chaines cryptées, ou hashées, sinon ça sert à rien le brute force ^^), si ok on sort de la boucle do, sinon recommence
23. NbPsw = NbPsw + 1
24. PSW = Depart
25. DoEvents
26. Loop
27. 'fin de la recherche
28.

Je dois coller ça où ? >_<
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 janv. 2006 à 12:14
Oupsss...

Lire :
Mais pourquoi pas garder LengtDepart, puisqu'au repassage dans la boucle DO, LengthDepart retrouvera la valeur "Depart", avec :

Au lieu de :
Mais pourquoi garder LengtDepart, puisque repassage dans la boucle DO, LengthDepart retrouvera la valeur Depart, avec :

Us.
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 janv. 2006 à 12:09
Salut (Re),


Je regarde de nouveau ton code en terme d'optimisation, et je vois qu'il y a encore pas mal de p'tites choses qui pourraient augmenter la vitesse d'exécution...


Donc, juste en passant...
JE constate que dans les boucles FOR a= ... la variable a n'est jamais déclarée; donc elle est en type Variant pr défaut. IL faudrait donc la déclarée par : Dim a As Long... gain d'exécution assuré...


ENSUITE, les instructions sur les chaines devraient être utilisé avec leurs syntaxes String. A savoir, au lieu de Left, Right, Mid mettre un dollar à la fin. Soit Left$, Right$ et Mid$.


Ensuite les boucles DO. La meilleur vitesse est obtenue en mettant l'instruction de sortie à LOOP. Donc au lieu de DO WHILE... LOOP , préférer DO.... LOOP WHILE... C'est toujours possible. Parfois, il faut faire attention de ne pas sortir prématurément, mais ici, il ne semble pas que cela le cas...
DE plus, la syntaxe de sortie des deux boucles DO...LOOP par IF (condition) THEN EXIT DO, est de beaucoup plus pénalisant que DO... LOOP UNTIL (condition), qui pourrait être utilisé ici...


DOEVENTS, instruction qui "redonne la main" aux autres procéssus, est évidemment trés trés pénalisant. L'utiliser 2 fois me semble donc beaucoup. Jamais serait le mieux. Un compromis serait de l'utiliser qu'une seule fois, en laissant DoEvents que sur la première boucle DO.


La déclaration :
Dim id As Integer
est répétée inutilement. Sortir cette déclaration de la boucle DO.


D'ailleurs, il me semble également inutile d'utiliser cette variable, puisqu'elle vaut id = LengthDepart, et que par la suite elle est décrémentée, certes. Mais pourquoi garder LengtDepart, puisque repassage dans la boucle DO, LengthDepart retrouvera la valeur Depart, avec :
Do
LengthDepart = Len(Depart)


Le doublon du test :
Do While Mid(Depart, id, 1) = CaracteresArrayReverse(0)
Mid(Depart, id, 1) = CaracteresArray(0)
est un structure optimisable, en principe. Mais il faut changer de mode de raisonnement... à étudier...


Bon, voilà je crois avoir fait un peu près le tour...

Amicalement,
Us.
silkscalp Messages postés 27 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 20 janvier 2011
28 janv. 2006 à 22:04
Pour ouvrir les fichiers il faut que tu ai VB ou Visual Studio.
C'est ce logiciel (qui permet de programmer) qui te permettra d'ouvrir ces fichiers.
L'extension des fichiers te permet de determiner le prog avec lequel tu vas ouvrir ces fichiers.
Clair ? (question...)
@+
Silkscalp
ceced132 Messages postés 1 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 28 janvier 2006
28 janv. 2006 à 21:49
salut les fichiers que l'on télécharger.coment faut-ils les ouvrirs???svp car ils n'ont pas de logiciel pour s'ouvrir par défaut expliquez moi svp
silkscalp Messages postés 27 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 20 janvier 2011
24 août 2005 à 20:22
Excusez moi je fini... (j'ai un problème de clavier désolès)

On ne peut désassembler une page web pour la simple raion que c'est du script non compilé, on peut voir le source de la page mais bien souvent le panneau d'admin est stocké sur le serveur et pas sur le client (trop facile..). De plus le brute force laisse des log terribles! Il vaut mieux essayezr des failles style 'Bypass SQL'
Le brute force n'est JAMAIS utilisé pour cracker un programme mais pour tester tout les mots de passe afin d'accéder à la page d'administration ou pour le fichier etc/passwd (avec shadow c'est plus complexe).
Pour les programmes, on crack avec des débogueurs (olly, S-I) et desassembleurs (IDA Pro, Wdasm...) (+ editeur héxa mais on peut s'en passer avec Olly). De plus les NOP (90) ne sont pas très apprèciés des crackeurs sauf quand on a pas le choix (mais on l'a presque toujours). On peut etre crackeur et avoir un style comme en français, d'ailleurs on peut en reonnaitre certain à la manière dont ils crackent...
Pour cracker le NOP ou ou l'inverse de saut se faitquand on débute.Maintenant si tu as affaire à un programme packé (ASPROTECT, tu vas pas mettre 2 minutes...) ,Wdasm ne t'affichera pas le code ou alors du code incomprehensible. Il faut dumper le programme avant ou faire un patch inline.
Bref les prog crackable en 2 minutes sont du style winrar ou autre. Dès que tu t'attaque à des programme plus complexe c'est autre chose.
Par exemple pour un jeu qui verifie que le CD est dans le CD-ROM, un cracker ne va pas nopper la comparaison mais plutôt regarde les API et modifier les valeurs attendues (avec GetDriveTypeA, c'est 5 pour CDROM et 3 pour Disque dur). Le prog compare EAX avec 5, Il faut juste modifier 5 par 3 c'et mieux que nopper une comparaison (Les crackeurs trouvent que l'inversion et le nop sont pour les débuts)
Surtout que l'on peut scanner le prog à la recherche de NOP qui ne sont pas présent à l'origine et fermer le prog si il y en a).
Une techniques de protection est de faire un bon Checksum avec un algo de cyptage (md5 ou autre),et là ton NOP va se faire rejetter systématiquement.
Ceci étant dit, je crois que ce n'est pas le lieux pour discuter de ce sujet (c'est pour ca que je suis resté théorique, en plus le cracking de programme ce fait en ASM et vbfrance ne ressemble pas ASMfrance).
Ici on parle de code et pas de technique de cracking donc je m'arrete là.
Le bruteforce à sa place car c'est de l'algorithme. Le cracking non (euez moi si je m'étale)!!
Donc pour des questions (hors de ce site, silkscalp1@hotmail.com (msn) ou silkscalp@gmail.com)
Silkscalp
A +
silkscalp Messages postés 27 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 20 janvier 2011
24 août 2005 à 19:56
Heu... Une petite précision pour Kyck-me, le brute-force est utilisé our casser les mots de passe des site web ou pour les fichiers de login.
Windasm, Ollydbg, Soft-Ice et otu le reste c'est fait pour casser desprogramme. En effet tu désassembles un programme pour voir le sourceen ASM et modifier en héxa.
Ce n'est pas le même but. Essaye de désassembler une page wa
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
22 août 2005 à 14:06
Je viens de remarquer.
Si CaractereArray est un tableau contenant des caractères uniques et pas des chaînes il est efficace de faire ceci
Dim CaracteresArray as String
CaracteresArray = "abcde..." 'Liste des caractères utilisables

Et de l'utiliser comme ceci :
Mid (CaracteresArray, x, 1)

Ou comme ceci (mais il y a parfois des problèmes) :
Chr$(CaracteresArray(x))
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
22 août 2005 à 13:50
Et si tu n'as pas accès au programme du système que tu veux pénetrer ? (même si tu as les sources par ailleur)
Si tu veux casser un message crypté avec DES ou AES ?
Si tu veux casser RSA ? (c'est un mauvais exemple, je déconne)

Y a pas 36 solutions, il en reste 2 :
- le gars en face ne sait pas manipuler les systèmes de protection et c'est trivial, tu rentres sa date de naissance, ou le nom de son chien, ou ...
- le gars en face sait manipuler les systèmes de protection et c'est force brute

Les alliés pendant la guerre de 39-45 ont décodé tous les messages allemand avec cette méthode.

C'est vrai qu'il y a des dizaines de méthodes d'attaque, mais si l'algo est bien fait et bien utilisé, il ne doit rester plus que la force brute.
kyckme Messages postés 12 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 10 mai 2006
22 août 2005 à 13:08
Salut,
c'est just pour une pitite remarque sur ce que tu a dis kronemburg : "Il y a deux façons (à ma connaissance) de cracker un mot de passe", là je veux just intervenir, je suis pas un pro mais pour moi il y en à pas 2 mais des dizaines et des dizaines et la meilleur, à ma connaissance(très limité dans le domaine, si si), c'est la decompilation(windasm & co...) et sans rentrer dans les détails le pricipe c'est de sauter le test de validiter : concretement tu rentres n'importe quel mot de pass, le programme acceptera toujours.La manip' prend 2min a tt casser et ton prog est cracké a vie(où est ce que j'ai écrit ce pinèze de mot de pass....:o)

Voili voulou, sur ce bonne continuation, jte met 7/10 pour l'initiative (eh oui faut encourager les gens des fois, ça motiv' et ca fait avancer les choses!!)

Cordialement Kyck-me(aka dhigan aka le schtoumf pour les intimes :o)
kronemburg Messages postés 15 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 3 décembre 2005
19 août 2005 à 19:20
En effet warny, je viens de faire le test, c'est bien plus rapide !
Merci à toi.
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
19 août 2005 à 13:16
Dernier petit mot... Mes deux lignes reprenait le super slogan de Fring, qui post 3 fois de suite : "Connait pas", qui franchement n'a rien t'interessant... mais cela est peut-être dû à un problème du site, puisque Warny, se retrouve dans la même situation. (mais il est vrai avec un post qui a du sens...)

Bonne continuation,
Us.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
19 août 2005 à 10:19
Pour gagner en temps, sur une chaine de caractère tu a le droit de faire ça

Mid(chaine, position, longueur) = remplacement

pour un seul caractère :

Mid(chaine, position, 1) = caractère

Ca évite de reconstruire la chaine, ce qui est loin d'être negligeable.

Par exemple, ligne 23 de ton code de présentation, tu peux écrire :
mid(Depart, id, 1) = CaracteresArray(0)
Ce qui va nettement plus vite en execution.

Tu n'as pas besoin du Goto ApresIf dans ton code
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
19 août 2005 à 10:14
Pour gagner en temps, sur une chaine de caractère tu a le droit de faire ça

Mid(chaine, position, longueur) = remplacement

pour un seul caractère :

Mid(chaine, position, 1) = caractère

Ca évite de reconstruire la chaine, ce qui est loin d'être negligeable.

Par exemple, ligne 23 de ton code de présentation, tu peux écrire :
mid(Depart, id, 1) = CaracteresArray(0)
Ce qui va nettement plus vite en execution.

Tu n'as pas besoin du Goto ApresIf dans ton code
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
19 août 2005 à 10:12
Pour gagner en temps, sur une chaine de caractère tu a le droit de faire ça

Mid(chaine, position, longueur) = remplacement

pour un seul caractère :

Mid(chaine, position, 1) = caractère

Ca évite de reconstruire la chaine, ce qui est loin d'être negligeable.

Par exemple, ligne 23 de ton code de présentation, tu peux écrire :
mid(Depart, id, 1) = CaracteresArray(0)
Ce qui va nettement plus vite en execution.

Tu n'as pas besoin du Goto ApresIf dans ton code
kronemburg Messages postés 15 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 3 décembre 2005
19 août 2005 à 02:33
Salut,
Wanry, j'ai fait les modfi dont tu parlai, mais au contraire, le prog est plus long (il perd 1000 mdp/s environ), j'ai fait ces tests en lancant les deux progs l'un apres l'autre, et ce plusieur fois de suite...


(Us, tu deviens lourd)
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
18 août 2005 à 19:42
"jeune apprenti en programmation qui veut aller vite SOS" ... peut-être trop vite, justement...
cs_fring Messages postés 21 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 25 mars 2006
18 août 2005 à 19:23
Connait pas
cs_fring Messages postés 21 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 25 mars 2006
18 août 2005 à 19:23
Connait pas
cs_fring Messages postés 21 Date d'inscription mardi 5 juillet 2005 Statut Membre Dernière intervention 25 mars 2006
18 août 2005 à 19:22
Connait pas
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
18 août 2005 à 14:49
Il y a hacking et hacking.
Celui pour le sport (sur ton matériel perso) et celui pour la bagarre. Le premier ça va, le deuxième, moins
Ici, il s'agit uniquement de l'algorithme de génération de toutes les possibilités de mot de passe.
On utilise cette méthode si:
- l'algorithme est irreversible OU on doit casser une clef de cryptage
- ET l'algorithme est fort (incassable par un autre moyen)
- ET l'élément qu'on doit casser n'est pas généré logiquement.

Déclare tes tableaux en string plutot qu'en variant si tu mets des caractères dedans, ça va plus vite.
Enregistre ta fonction test dans une variable avant les boucles
Et puis surtout :

ELIMINE LES GOTO DE TON CODE MÊME DE TEST

Bonne continuation
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
18 août 2005 à 11:00
Oui d'accord, et j'en rajoute une couche, je crois aussi que VBF n'est pas trés chaud pour héberger des codes sur le craking...
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
18 août 2005 à 08:58
Sincerement je connaissais le principe, mais franchement, un algo qui est sensé "cracker" et qui n'a aucune relation avec un soft ou une connexion a une page net. Je ne vois pas trop l'interet..., deja que je ne suis pas adèpte du crackage de passe.

Imagine si a l'occas j'ai vraiment envie d'avoir l'ame d'un hacker, je prend donc ton code et j'en fais quoi après ? je le lance et c'est tout ? il va savoir tout de ce que je veux faire.... la liaison avec un soft externe et leur inter-connexion me parait plus important que faire un algo sur une suite de caracteres mis bout a bout par bouclage.
kronemburg Messages postés 15 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 3 décembre 2005
18 août 2005 à 06:02
pour un exemple de brute force :
mot de passe 1 : a
mot de passe 2 : b
mot de passe 3 : c
...
mot de passe x : aa
mot de passe x+1 : ab
mot de passe x+2 : ac
...etc
kronemburg Messages postés 15 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 3 décembre 2005
18 août 2005 à 05:55
Il y a deux façons (à ma connaissance) de cracker un mot de passe : la methode avec dictionnaire, et la force brute.
La methode dico utilise un fichier texte avec dedans une liste de mots (par exemple, ça va de alouette à zidane ^^'), et le prog teste tous ces mots les uns apres les autres. Le brute force génère toutes les combinaisons possibles avec une liste de caractères et les teste les unes après les autres jusqu'a ce qu'il tombe sur le mot de passe valide. c'est une methode très longue, qui peut prendre des semaines !
J'espère avoir été un peu plus clair ^^
@+
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
18 août 2005 à 05:04
Oui, d'accord, mais au risque de vraiment passer pour un newbie je vais reformuler ma question :
C'est quoi la "Force brute" ???
N'ayant aucune base en cracking j'espère que vous me la pardonnerez ^_^
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
17 août 2005 à 21:23
Oh... Aller ! Ne jouez pas les naïfs... Cela sert à rien, c'est évident ! Personne utilise la force brute pour essayer de cracker... A moins d'être fou... Y'en a... c'est sur... Y'en a même qui en font du code... Bon, bon... j'exagère un peu, pour mettre en boite "kronemburg", ou en pack, c'est selon...

Enfin, un mot sur le code, sans l'avoir testé je l'avoue... IL me semble qu'il y a trop de boucles et de tests dans tous les sens, pour être vraiment rapide...

Us.
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
17 août 2005 à 17:36
En voici en excellente question soulevée par Liquide !!!
Mais je ne peux m'empêcher, quitte à passer pour un gros nase, de la reposer : ça sert à quoi ???
(Autrement dit, il manque les explications dans la présentation de ta source!)
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
17 août 2005 à 17:34
je pense ke j'ai déjà vu une source de brute force et faut pas trop s'y connaitre pour isoler la fonction
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
17 août 2005 à 10:50
et ca sert a quoi?
Rejoignez-nous