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

C++ Discussion :

Problème de compilation


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut Problème de compilation
    Bonjour, je suis nouveau en C/C++

    Je viens de créer un petit programme pour trouver un mot de passe sur un site de hacking (legal bien entendu (http://hackerschallenge.free.fr/6900751.htm))

    Voila... Le mot de passe est vérifié a partir de plusieurs modifications:
    On part du mot de passe initial.
    On le met en minuscule.
    Ces minuscules sont converties en nombres suivant les lettres minuscules en ascii.
    On multiplie 1, par le premier nombre, par le deuxieme nombre...
    A la fin on obtient un nombre (assez conséquent) et il est comparé au nombre que l'on a obtenu en tapant notre mot de passe.
    Si les deux nombres sont égaux, ont passe au niveau suivant...

    Donc voila, j'ai fais un petit programme qui génere des nombres au hasard, et les multiplie jusqu'a trouver le mot de passe...
    Mais au moment de la compilation il plante.
    Je vous donne mon code source, ca serait cool si quelqu'un pouvait s'y interesser un peu, ça doit être une petite faute toute bête...
    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
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    #include <string.h>
    #include "MdP.h"
     
    int main(int argc, char *argv[])
    {
    long y = 1;
    long Y[4] = {0};
    long i = 0;
    long O = 1;
    long u = 0;
    long Nbr = 0;
     
        for(i = 0; O != Nbr ; i++)
    {
    //initialisation de Y
    for(u = 0 ; u < 5 ; u++)
    { 
    Y[u] = GenererNombre(97, 122);//On génere 5 chiffres au hasard, entre 97 et 122 (Minuscules en code ASCII)
    }
    //Fin d initialisation de Y
    y *= Y[i]; //Multiplication des Y
    if (y == 173888649396000) //Test du resultat
    {
    printf("Resultat trouve! Y1 = %ld Y2 = %ld Y3 = %ld Y4 = %ld Y5 = %ld", Y[0], Y[1], Y[2], Y[3], Y[4]);//Si c'est bon, les resultats s'affichent
    Nbr = 1; //Si c'est bon l'algorythme s'arrète
    }
    else
    {
    printf("pas trouve (%ld)\n", y);//Si c'est faux, l'algorythme continue, mais affiche le nombre qu'il a trouvé
    }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    et voila mon header, MdP.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #ifndef DEF_NOMDUFICHIER
    #define DEF_NOMDUFICHIER
    long GenererNombre(const long Min, const long Max)
    {
         srand(time(NULL));
         return (rand() % (Max - Min + 1)) + Min;
    }
    #endif
    Voila... donc pour ceux qui ont lu mon post jusqu'au bout... Merci beaucoup
    PorkyFighter

  2. #2
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    Donne nous ton message d'erreur stp ?

    PS : tu devrais expliquer aux rigolo de ton site que ce n'est pas du Hacking mais du Cracking qui est fait la.
    J'aime pas les épinards... Mais alors pas du tout

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Ce n'est pas mon site... mais c'est vrai, dés qu'on tape hacking ou des trucs comme cela, c'est des sites illégaux que l'on trouve... mais personnelement je ne fais pas ca pour causer des dommages à d'autres sites... c'est plus pour comprendre un peu la sécurité, et puis c'est des tites énigmes sympa
    Mon message d'erreur c'est ... bah... il me le remet plus... c'est bizarre...
    J'ai tout essayé, de changer tout et tout... et la je r'ouvre le fichier et il ne me le fait plus... bizarre...
    Mais j'en ai un autre, il me dit que la variable y (qui est un long) n'est pas assez grande pour accueillir le chiffre... Or c'est le type de variable le plus grand non?
    Comment faire?
    Merci
    edit: ca serais pour contenir un chiffre dans le genre: 173888649396000
    Merci

  4. #4
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    Je n'ai jamais dit que c'était ton site Je trouve juste ca dommage que la confusion soit faite entre les deux termes.

    En ce qui concerne ton problème de nombre tu doit créer une classe du genre "longlong" (oui ce nom est un peu con ) qui aurais comme membre 2 entiers de type long que tu gérerais toi meme en surchargant les opérateurs.
    J'aime pas les épinards... Mais alors pas du tout

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Oulahh je ne comprends pu trop... lol surcharger les opérateurs?
    Au lieu de déclarer ma variable comme ca:
    long y = 0;
    Je dois déclarer ma variable en:
    longlong y = 0;
    ?
    Mon IDE (Dev C++) ne connais pas...
    Je dois me gourer, parceque tu m'a dis de créer une classe... mais sois je ne connais pas, sois je n'ai pas appris sous ce nom...
    Merci

  6. #6
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    le type longlong n'existe pas et tu doit donc le créer.

    Pour créer cela tu doit créer une classe nommé longlong (par exemple) et donc définir toi meme toutes les opérations possibles avec ce genre de nombre.

    Si tu ne sait pas ce qu'est une classe, je te conseille de suivre des tutos de C++ ou bien de langage orienté objet car sinon tu ne t en sortira pas.
    J'aime pas les épinards... Mais alors pas du tout

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Bon... bah c'est pas grave, je saurais le faire un jour! lol
    Je vais m'y mettre... Faut vraiment que je trouve 30€ pour acheter un bon bouquin... Mais pour l'instant je vais faire avec des Tutos...
    Je pensais que c'était un genre de structure... mais c'est pas ca... lol
    Bon bah merci de t'être interessé a mon problème...
    A plus

  8. #8
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Il y aurait personne pour me faire un petit .h pour que je puisse utiliser longlong, si c'est pas trop long? j'ai juste besoin de ca et je comprends rien quand je li un tuto dessus...
    Je sais que c'est pas dans la mentalité des programmeurs de filer un boulot tout fini... mais bn... j'ai juste besoin de ca pour voir mon programme...
    SVP...
    Merci

  9. #9
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Il y a des compilateurs qui proposent déjà un type long long (et il sera sous ce nom dans la prochaine version de la norme).

    Edit: enlevé un "pas" de trop.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  10. #10
    Membre averti
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Points : 307
    Points
    307
    Par défaut
    Il y a pas des compilateurs qui proposent déjà un type long long (et il sera sous ce nom dans la prochaine version de la norme).
    euh, sous Windows alors ?
    a priori aCC sous hp-ux le propose déjà.

    ou peut être que le "pas" est de trop ?

  11. #11
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Mon IDE (Dev C++) ne connais pas...
    GCC connait parfaitement long long.
    Boost ftw

  12. #12
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    C'est marrant leur truc. Après avoir exploré ~27450 noeuds, je retiens 2 mots de 7 lettres qui après permutations m'en donnent ~7579 -- en me restreignant aux minuscules. Ce peut être un sujet sympa pour les concours de perfs.

    Je crois qu'il ne reste plus qu'à piper le résultat sur xargs + wget. Vont pas être contents free.

    PS: l'attaque brute à (122-98+1)^7 évaluations, je n'y crois pas trop. La stochastique, pas vraiment non plus.

    PPS: "long long" (avec espace au milieu) est bien répandu sur les compilos à la *nix. VC utilise (/-ait?) __int64.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  13. #13
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Hylvenir
    ou peut être que le "pas" est de trop ?
    le pas est de trop, je ne sais pas ce qu'il vient faire là. Je corrige.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  14. #14
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut
    Je trouve 7560 reponces avec des mdp à 7 lettres.
    cdeitvy
    cdeityv
    cdeivty
    cdeivyt
    cdeiytv
    cdeiyvt
    cdetivy
    cdetiyv
    cdetviy
    cdetvyi
    cdetyiv
    cdetyvi
    cdevity
    cdeviyt
    cdevtiy
    cdevtyi
    cdevyit
    cdevyti
    cdeyitv
    cdeyivt
    cdeytiv
    cdeytvi
    cdeyvit
    ...
    J'ai rechercher a matcher tous ces codes avec les dico. Anglais et Francais de OpenOffice. Rien trouvé
    J'ai donc tester avec des requettes HTTP sur le site et aussi aucune reponce.
    ________________________________________________
    http://bliquid.fr : Blog sur Android et l'Acer Liquid

  15. #15
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Tu n'as pas un jeu de scrabble ou un boggle chez toi ?
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  16. #16
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Surtout que les attaques brutes force cela n'apporte rien intellectuellement... et c’est rarement utilisé.

    Et à mon avis c'est pas trop ce qui est utilisé pour casser du code... vaut mieux récupérer le mot de pass...

    Sinon il y a surement des trucs plus intéressent intellectuellement en programmation que de trouver un code. A moins que tu ne souhaites en faire ton métier et casser du code pour une entreprise de sécurité ou pour la DGSE….

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 125
    Points : 145
    Points
    145
    Par défaut
    sinon deja tu as une premiere erreur a eviter :
    declarer long Y[4] et faire un printf("xxxx",Y[4]);

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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