CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Algo Brutus.

la_croix
la_croix
Niveau 3
06 août 2005 à 14:20:15

Salut à tous ! :)

Je voudrais simplement savoir comment fonctionne l´algorithme du logiciel Brutus.

Merci d´avance pour vos réponse :)

MrGoTo
MrGoTo
Niveau 8
06 août 2005 à 17:18:18

Brutus utilise deux trucs pour trouver un mot de passe:
-Le cassage par brute force qui consiste à tester toute les possibilités d´un mot de passe. On peut trouver le bon mais ça prend du temps. Pour te donner une idée il faut K^n essai pour tout tester ou K est le nombre de caractères possibles ( mettons 24 lettres minuscules, 24 majuscules et 10 chiffres ça fait deja 58) et n le nombre de lettres du mot de passe. Je sais pas trop combien d´essai à la seconde on peut traiter ça doit dependre de la puissance de calcul. Pour coder ça tu peux utiliser un algo recursif qui va descendre jusqu´a la profondeur souhaitée et afficher les lettres en prefixe plus la dernière lettre. Exemple avec trois caractere a, b, c d´un mot de deux lettres.
Appel à la fonction prefixe vide
. Appel à la fonction avec le prefixe ´a´
. .Affichage de aa, ab, et ac.
. Appel à la fonction avec le prefixe ´b´
. .Affichage de ba, bb, et bc.
. Appel à la fonction avec le prefixe ´c´
. .Affichage de ca, cb, cc.
Naturellement si c´est bien codé c´est extensible à autant de caractere que l´on souhaite mais c´est long.

-Le cassage par dictionnaire: La on teste chaque mot indiqué dans le dictionnaire qui est un fichier comprenant des mots ( un par ligne mettons). Le traitement est plus rapide mais on est pas sur de trouver la reponse. La ca se code facilement juste besoin de recuperer les mots dans le fichiers et les tester.

la_croix
la_croix
Niveau 3
06 août 2005 à 18:20:57

Merci pour ta réponse MrGoto. :-)

Mais fait, j´aimerais une méthode permettant avec une chaine de aractère du style ABCD, tester toutes les possiblités.

Merci d´avance.

la_croix
la_croix
Niveau 3
06 août 2005 à 18:22:40

A noter que aractère = caractères. :honte: !

MrGoTo
MrGoTo
Niveau 8
06 août 2005 à 20:36:52

Je te ferais un pseudo code quand je trouverai un peu de temps libre si d´ici là tu as pas ta solution.

MrGoTo
MrGoTo
Niveau 8
06 août 2005 à 22:20:59

Je te laisse y jeter un oeil:
http://rafb.net/paste/results/k5672568.html

la_croix
la_croix
Niveau 3
07 août 2005 à 10:02:57

Merci ! Je vais allez jeter un coup d´oeil. :)

MrGoTo
MrGoTo
Niveau 8
08 août 2005 à 06:29:43

Jme suis amusé à coder une version basique et pas très rapide mais fonctionelle qui traite que l´alphabet. Voila le code ( du C++):

  1. include < iostream>
  2. include < string>

using namespace std;

  1. define NOMBRE_CHAR 26

char charset[NOMBRE_CHAR] = {´a´, ´b´, ´c´, ´d´, ´e´, ´f´, ´g´, ´h´, ´i´, ´j´, ´k´, ´l´, ´m´, ´n´, ´o´, ´p´,
´q´, ´r´, ´s´, ´t´, ´u´, ´v´, ´w´, ´x´, ´y´, ´z´};

int profondeur_max;

void brutos(string prefixe, int profondeur)
{
if ( profondeur > = profondeur_max)
{
cout < < prefixe < < endl;
return;
}
for ( int char_courant = 0; char_courant < NOMBRE_CHAR; ++char_courant)
brutos(prefixe + charset[char_courant], profondeur + 1);
}

int main()
{
cin > > profondeur_max;
brutos("", 0);
return 0;
}

Il est disponible egalement ici ( plus clair mais le lien est ephemere):
http://rafb.net/paste/results/EZzZW986.html

la_croix
la_croix
Niveau 3
08 août 2005 à 12:41:27

Merci !

Mais j´orai besoin que tu m´explique certain point, j´ai pris ton msn ( en espèrant que c´est le bon que j´ai trouvé ) !

Yoda_Software
Yoda_Software
Niveau 30
08 août 2005 à 22:38:45

Question : pourquoi utiliser un tableau pour les caractères alors qu´on peut utiliser la fonction chr() ( ou son équivalent en C, je ne le connait pas, mais je suis persuadé qu´il existe) de la manière suivante :

for ( int char_courant = 0; char_courant < NOMBRE_CHAR; ++char_courant)
brutos(prefixe + chr(96+char_courant), profondeur + 1);
}

Yoda_Software
Yoda_Software
Niveau 30
08 août 2005 à 22:46:11

Petit correctif : chr(97+char_courant)

MrGoTo
MrGoTo
Niveau 8
09 août 2005 à 04:32:56

Ben ecoute c´est à essayer cependant après dans mon tableau je peux y rajouter les lettres majuscules, les chiffres, les symboles et ce sans changer une seule ligne de ma fonction brutos.

Yoda_Software
Yoda_Software
Niveau 30
09 août 2005 à 09:07:45

Les majuscules et les chiffres, je peux comprendre, et là effectivement je comprends l´utilisation du tableau, mais les symboles . .. dans un mot de passe . .. :question:

MrGoTo
MrGoTo
Niveau 8
09 août 2005 à 09:38:40

Je parle des slash, de l´arobase, du dièse, de l´accent circonflexe. Ils sont souvent utilisés par les administrateurs ( moi même j´ai du un mot de passe qui contenait & et ^).

L-C
L-C
Niveau 4
19 août 2005 à 17:44:17

vs savé pa ou je pourré trouver le logiciel brutus

gollumkawder
gollumkawder
Niveau 10
19 août 2005 à 18:08:58

Mon petit doigt me dit: sur internet, mais a moins que tu ne l´utilises a un usage strictement personnel a des fins de recherche et d´apprentissage, c´est illégal, cf. les lois informatiques...

MrGoTo
MrGoTo
Niveau 8
20 août 2005 à 01:08:09

DTC

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment