Page 1 sur 1

[test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 12:31
par blendman
salut

Ce matin, j'ai réalisé un petit test d'encryption de mot de passe.
J'aurai aimé que ceux qui le souhaitent s'amusent à essayer de le trouver, pour voir si mon système est pas trop pourri :D.
En sachant que c'est très loin d'être un super système, c'est juste léger, pour une protection assez basique ;).

Donc, voici le fichier :
http://blendman.free.fr/dev/pb/test_encryption.exe

Si vous le lancer, il ne se passe rien, bien sûr.
Le mot de passe à trouver est à l'intérieur.
Si vous le trouvez, pouvez-vous :
- le poster pour que je puisse vérifier si vous avez le bon
- me dire comment vous avez fait pour le trouver
- comment améliorer le système pour éviter qu'on le trouve trop facilement :)

Pour le moment, je ne donne aucune indication pour vous aider, ce serait trop facile lol.

Merci d'avance pour ceux qui essayeront de trouver le mot de passe (c'est pas très difficile hein ;)).

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 12:58
par SPH
'eYSudjUsidkslsmps5s696s5s8' ??

Lisible en clair en hexadecimal

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 13:08
par blendman
SPH a écrit :'eYSudjUsidkslsmps5s696s5s8' ??

Lisible en clair en hexadecimal
perdu :)
C'était le 1er piège ;)

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 13:40
par Ar-S
ça ne me parait pas vraiment être une situation réelle ce teste, il faudrait que ton programme soit utilisé pour encrypter ce que tu veux (genre une image).
Là le prog fera appel au code, celui ci devrait transiter par la mémoire et donc être levable ? oui ? non ? est-déjà le cas ?

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 14:56
par flaith
Ar-S a écrit :ça ne me parait pas vraiment être une situation réelle ce teste, il faudrait que ton programme soit utilisé pour encrypter ce que tu veux (genre une image).
Là le prog fera appel au code, celui ci devrait transiter par la mémoire et donc être levable ? oui ? non ? est-déjà le cas ?
C'est ce que j'allais demander, tu met un mdp crypté mais aucune procédure n'est présente dans l'exe (à première vue) demandant le mdp, ni la phase de decryptage :( Donc aucune chance de trouver le mot de passe...

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 15:05
par blendman
Ok, j'ai modifié l'exe en ajoutant une boucle qui donne le mot de passe à une variable, de manière continue.

Dites-moi si ça vous va ;).

Je suis en train de modifier ça pour l'utiliser avec une image cryptée (si j'y arrive :P). Comme ça, ce sera encore mieux pour la procédure de décryptage et le résultat :).

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 16:09
par flaith
Très vite fait, sans grande vérification (pendant mes appels), le mdp commencerait-il par 'iZMsomsI" ?

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 16:22
par G-Rom
@Flaith
C'est grâce à tes yeux que l'on voit sur ton avatar que tu arrives à lire & à comprendre du code machine ?
je suis sur que tu arrives à exécuté dans ta tête un exécutable rien qu'en lisant le code hexa ^^

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 16:38
par Ar-S
J'ai l'impression que la boucle en question représente ça :

Code : Tout sélectionner

00401498  |> E8 AE100000    /CALL test_enc.0040254B
0040149D  |. A3 188F4000    |MOV DWORD PTR DS:[408F18],EAX
004014A2  |. E8 A7270000    |CALL test_enc.00403C4E
004014A7  |. 8B15 108F4000  |MOV EDX,DWORD PTR DS:[408F10]
004014AD  |. FF35 D0914000  |PUSH DWORD PTR DS:[4091D0]
004014B3  |. E8 C8520000    |CALL test_enc.00406780
004014B8  |. 68 1C8F4000    |PUSH test_enc.00408F1C                  ; |Arg1 = 00408F1C
004014BD  |. E8 3E520000    |CALL test_enc.00406700                  ; \test_enc.00406700
004014C2  |. 68 01000000    |PUSH 1
004014C7  |. E8 DF270000    |CALL test_enc.00403CAB
004014CC  |. 21C0           |AND EAX,EAX
004014CE  |. 74 0A          |JE SHORT test_enc.004014DA
004014D0  |. C705 148F4000 >|MOV DWORD PTR DS:[408F14],1
004014DA  |> 8B1D 188F4000  |MOV EBX,DWORD PTR DS:[408F18]
004014E0  |. 83FB 10        |CMP EBX,10
004014E3  |. 74 0D          |JE SHORT test_enc.004014F2
004014E5  |. 8B1D 148F4000  |MOV EBX,DWORD PTR DS:[408F14]
004014EB  |. 83FB 01        |CMP EBX,1
004014EE  |. 74 02          |JE SHORT test_enc.004014F2
004014F0  |. EB 07          |JMP SHORT test_enc.004014F9
004014F2  |> B8 01000000    |MOV EAX,1
004014F7  |. EB 02          |JMP SHORT test_enc.004014FB
004014F9  |> 31C0           |XOR EAX,EAX
004014FB  |> 21C0           |AND EAX,EAX
004014FD  |.^74 99          \JE SHORT test_enc.00401498


Mais mes connaissances en asm étant casi nulle, je ne sais pas trop que faire ensuite :)
flaith tu confirmes/infirmes ?

Après je trouve moults mdp ascii mais je me dis que ce sont de simples leurres.
("S569..." "ssoqms..." )

Ce serait plus (enfin je pense) facile s'il y avait un genre de stringgadget demandant de valider si oui ou non le mdp entré est le bon ^^

Re: [test] trouver le mot de passe :)

Publié : mer. 23/mars/2011 17:02
par flaith
G-Rom a écrit :@Flaith
C'est grâce à tes yeux que l'on voit sur ton avatar que tu arrives à lire & à comprendre du code machine ?
je suis sur que tu arrives à exécuté dans ta tête un exécutable rien qu'en lisant le code hexa ^^
:lol: j'ai commencé à programmer en assembleur, ca doit aider (regarde ma localisation) :mrgreen:
Ar-S a écrit :J'ai l'impression que la boucle en question représente ça :
Mais mes connaissances en asm étant casi nulle, je ne sais pas trop que faire ensuite :)
flaith tu confirmes/infirmes ?

Après je trouve moults mdp ascii mais je me dis que ce sont de simples leurres.
("S569..." "ssoqms..." )

Ce serait plus (enfin je pense) facile s'il y avait un genre de stringgadget demandant de valider si oui ou non le mdp entré est le bon ^^
Je ne pense pas que ce sont des leurres, mais plutôt des faux codes auquels on extrait certaiens partie du code en indiquant, par une procédure, d'extraire un certain nombre de caractères à une position donnée (enfin je pense) :)