IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Probleme script correlation


Sujet :

Python

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Novembre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Novembre 2022
    Messages : 2
    Par défaut Probleme script correlation
    Bonsoir j'ai trouvé un script et voulais voir comment il fonctionnait pour l'optimiser un peu sachant que je débute en Python, mais il ne fonctionne pas des que j'ai trop de mots dans mon dictionnaire il ne fait plus la corrélation si quelqu'un peut m'aiguiller ce ne serait pas de refus cela me permettrait de progresser.

    Je vous fourni le code en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import hashlib, sys
    m = hashlib.sha256()
    hash = ""
    hash_file = 'hash.txt'
    wordlist = 'm.txt'
    try:
        hashdocument = open(hash_file,"r")
    except IOError:
        print ("Invalid file.")
        input()
        sys.exit()
    else:
        hash = hashdocument.readline()
        hash = hash.replace("\n","")
     
    try:
        wordlistfile = open(wordlist,"r")
    except IOError:
        print ("Invalid file.")
        input()
        sys.exit()
    else:
        pass
    for line in wordlistfile:
        m = hashlib.sha256() #flush the bufer (thiscaused a massive problem when placed at the beginning of the script, because the buffer kept getting overwritten, thus comparing incorrect hashes)
        line = line.replace("\n","")
        m.update(line.encode(wordlistfile.encoding))
        word_hash = m.hexdigest()
     
    if word_hash == hash:
        print ("Collision! the word corresponding to the given hash is", line,)
        input()
        sys.exit()
     
    print ("the hash given does not correspond to any supplied word in the wordlist.")
    input()
    sys.exit()

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 828
    Billets dans le blog
    1
    Par défaut
    Bonjour
    1) tu trouves un script (au hasard ?)
    2) tu veux voir comment il fonctionne pour l'optimiser (optimiser=donner de meilleurs conditions de fonctionnement ce qui implique qu'on sait déjà comment il fonctionne)
    3) mais tu es débutant en Python => comment un débutant ayant du mal à optimiser sa propre compréhension de ce qu'il connait de Python peut envisager d'optimiser le script de quelqu'un d'autre ?
    4) il ne fait plus "la" corrélation => la, article défini, implique que tous les participants savent de quoi tu parles, ce qui est loin d'être le cas
    5) trop de mots dans ton dictionnaire... sauf que nous on ne voit aucun dictionnaire ni aucun mot

    Donc bon, on n'est finalement pas plus avancés. Ah si, tu peux optimiser en supprimant ce else: pass idiot de la ligne 22.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Novembre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Novembre 2022
    Messages : 2
    Par défaut
    Bonjour merci pour ta réponse au moins c'est clair et quoi de mieux que d'essayer de comprendre et vouloir optimiser pour apprendre ?
    Après j'aurais espérér avoir des liens sur le fonctionnement des hash sous python mais c'est mieux de critiquer que de rederiger vers de la doc pour apprendre. Après tu vois pas de dictionnaire avec les mots sa faut le créer le fichier pour pouvoir tester...
    dans tous les cas merci encore et bonne journée.

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    De la doc sur Python, c'est pas ça qui manque ici. Ne serait-ce qu'en cliquant sur celle de la signature de Sve@r.

    Si tu comptes apprendre le langage en analysant du code, en le triturant, je ne suis pas sûr que ce soit la meilleure idée de l'univers.

    En revanche, lire un (des) tuto(s), comprendre, tester, ça me parait plus fructueux.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 828
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par CitrusCr Voir le message
    et quoi de mieux que d'essayer de comprendre et vouloir optimiser pour apprendre ?
    Quoi de mieux? Alors dans l'odre
    1. lire un tuto pour acquérir les bases du langage
    2. faire des exercices pour acquérir des idées
    3. lire (et tester) les solutions pour acquérir des réflexes
    4. faire ses propres codes pour acquérir de l'expérience

    Voilà ce qu'il y a de mieux. Ensuite là tu pourras lire un script et voir ses défauts éventuels (comme ce else: pass qui m'a directement sauté à mes yeux mais visiblement pas aux tiens, ou bien ce hash = hashdocument.readline(); hash = hash.replace("\n","") qui peut s'écrire directement hash = hashdocument.readline().replace("\n","")).

    Citation Envoyé par CitrusCr Voir le message
    Après j'aurais espérér avoir des liens sur le fonctionnement des hash sous python
    Ce n'est demandé nulle part dans ton premier post. Or dans un forum on s'exprime clairement sur ce qu'on attend, on n'espère pas que les autres le devinent. Tiens regarde ma dernière question en date: une question claire, un code d'exemple directement récupérable et utilisable, et une interrogation là aussi explicite sur la raison de l'échec.
    Quant aux liens... https://letmegooglethat.com/?q=python+hash

    Citation Envoyé par CitrusCr Voir le message
    mais c'est mieux de critiquer que de rederiger vers de la doc pour apprendre.
    Euh juste au cas où, en plus de ma signature qui visiblement n'a rien réveillé chez-toi, tu l'as regardé le bandeau principal de ce forum qui mentionne clairement TUTORIELS PYTHON ??? (question purement réthorique, je n'attends pas de réponse, je peux la deviner )

    Citation Envoyé par CitrusCr Voir le message
    Après tu vois pas de dictionnaire avec les mots sa faut le créer le fichier pour pouvoir tester...
    Ah ben oui, c'est tellement évident. Tu viens demander de l'aide mais c'est à ceux qui sont disposés à t'aider de créer les jeux de tests pour tester ton code. Flemme jusqu'au bout hein ???
    Et si ça se trouve, ce sont tes jeux de tests de débutant qui sont foirés et donc les jeux de tests des membres expérimentés ne le seront pas et ne pourront ni reproduire ton souci ni te l'expliquer

    Citation Envoyé par CitrusCr Voir le message
    dans tous les cas merci encore et bonne journée.
    De rien. Reviens quand tu veux.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 203
    Par défaut
    Hello,
    Citation Envoyé par CitrusCr Voir le message
    Bonjour merci pour ta réponse au moins c'est clair et quoi de mieux que d'essayer de comprendre et vouloir optimiser pour apprendre ?
    Je ne sais pas si ton but premier est d'utiliser plutôt que d'apprendre car le bout de code que tu nous montres ressemble fortement à un bout de code utilisé pour cracker.
    voir ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #============ WLG END ============
    #Begin Hash Cracker.py
    import hashlib, sys
    m = hashlib.sha256()
    hash = ""hash_file = 'hash.txt'
    wordlist = 'm.txt'
    try:
        hashdocument = open(hash_file,"r")
    except IOError:
        print ("Invalid file.")
        input()
        sys.exit()
    ...
    Ami calmant, J.P

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 828
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 828
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    car le bout de code que tu nous montres ressemble fortement à un bout de code utilisé pour cracker.
    Je n'aurais pas été jusque là. Le gus est technicien réseau, peut-être qu'il veut juste tester des vulnérabiltés, ce qui est tout à fait louable..

    Et puis bon, utiliser Python pour cracker alors qu'il existe des outils ultra rapides en logiciels libres, voire même des Linux Live CD dédié à ça...... Avec Python le type il mettra 1000 ans pour cracker le mot de passe de ma fille (loveken !!!)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 536
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 536
    Par défaut
    Si tu veux de l'info sur un module , 1er réflexe, chercher sa doc, hashlib étant un module fournit avec python, on trouve sa doc sur la doc officielle de python https://docs.python.org/3/library/hashlib.html
    PS: dans le code que tu nous proposes, je crois qu'il y a un petit problème d'indentation du code à un moment

  9. #9
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 322
    Par défaut
    bonjour
    Citation Envoyé par CitrusCr Voir le message
    il ne fonctionne pas des que j'ai trop de mots dans mon dictionnaire il ne fait plus la corrélation
    Non comme indiqué dans le message précédent, ce code ne fonctionne jamais (lignes 30 à ...) donc, pas de rapport avec l'optimisation.

    Citation Envoyé par CitrusCr Voir le message
    Bonsoir j'ai trouvé un script ... cela me permettrait de progresser.
    La meilleure façon de progresser est avant tout de coder donc, le copier/coller depuis le web est certainement la plus mauvaise façon de progresser

    Généralement, la meilleure façon d'optimiser (je suppose que tu parles de la vitesse ?) c'est de réécrire (x fois) l'algorithme et de tester. Mais malheureusement si il n'est pas de nous au départ, ce travail devient très complexe mais pourquoi pas si on aime se lancer de gros défis... (il me semblait que lorsque j'étais débutant, j'avais déjà assez de mal pour ne pas me compliquer encore plus la tâche)

    ------------

    Pour gagner 2 nano secondes dans ta boucle ...
    Pourquoi balayer toute la chaine si on ne désire supprimer que le dernier caractère ? (attention, peut-être pas de retour à la ligne dans la dernière entrée du fichier ?)

    A voir si réellement utile dans ton cas ?

Discussions similaires

  1. [Javascript] probleme script d'impression
    Par pimpmyride dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/03/2006, 14h37
  2. Problème script de chargement de données oracle
    Par nkongolo.m dans le forum Linux
    Réponses: 4
    Dernier message: 24/01/2006, 11h46
  3. petit probleme script heure et date
    Par ion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2005, 20h47
  4. Problème scripting
    Par mlequim dans le forum Linux
    Réponses: 15
    Dernier message: 08/08/2005, 17h04
  5. Problème script Bash
    Par Sphost dans le forum Linux
    Réponses: 10
    Dernier message: 26/07/2005, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo