Il est interdit de modifier ce tuto et de le redistribuer sans autorisation.
Si vous désirez le copier, demandez la permission a l'administrateur de ProgSource.fr.cr, mais vous devrez citer le nom de l'auteur ( TheHardButcher ) et ProgSource.fr.cr
Bonjours, et bienvenue pour mon premier tuto.
Je vous prévient déjà qu'il n'est surement pas parfait, qu'il y aura surement des fautes d'orthographe idiote, et je m'en excuse.
Ils vous apprendras quelques bases du cracking, mais sans rentrer dans les détails.
Pour réaliser ce tuto, vous aurez besoin :
- D'un désassembleur ( Win32Dasm suffit, mais prenez plutôt ollydbg si vous le possédez ) Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
- D'un éditeur Hexadécimal.
- Du Crackme4 de NewbieContest ( vous devez vous inscrire sur Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! et allez télécharger le fichier de cette page Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! )
J'utiliserais PEID au début pour vous montrez sont fonctionnement, mais vous n'en aurez pas besoin.
Le but sur le site de challenge, est de trouver un password valide, mais vous, je vais vous demander quelques chose de beaucoup plus simple, car je ne veux pas vous embrouillez n'y permettre a tout le monde de réaliser ce challenge facilement en lisant un tuto ^^
Nous allons donc devoir modifier le fichier pour que tout les password rentré soit considéré comme valide.
D'abord, je vais procéder méthodiquement comme avec n'importe quel crackme.
Je l'ouvre, et regarde ce que je vais avoir a faire. ( bien que ma tache ne sera pas celle demandez dans le crackMe )
Il me demande un pass, en nombre, je test 123456, et me dit que ce n'est pas le bon.
Je sais donc maintenant quels référence string seront a chercher.
Je vais l'ouvrir avec PEID. Voilà ce que sa me donne :
Ce qui me signifie que le Crackme n'est pas packer. Je ne rentrerai donc pas dans les détails cette fois ci.
Je vais donc maintenant pouvoir l'ouvrir avec mon désassembleur.
Pour ollydgb, je doit faire
clique droit --> search for --> all referenced strings
Une fois dans le petit menu qui vient de s'ouvrir, je voie bien tout les dialogs qui m'ont été proposé avec aussi un Bravo, tu peut rentrer le mot de passe sur le site.
Je vais donc cliquer sur un des ces référence, et chercher le moment ou le pass est demandé
On voit très bien le %d suivit d'un cmp ( comparaison ) puis un JNE ( saut si inégal si je me rappel bien ^^ ) qui saute juste au deçu du message : Bien, tu peux rentrer ce mot de passe sur le site, ca te fera gagner des points :D
Pour faire un schema simple, voici ce que l'ont pourrait voir dans sa tête :
Demande du passe --> %d --> CMP ( qui compare ) Si c'est bon, on marque "Bien, tu peux rentrer ce mot de passe sur le site, ca te fera gagner des points :D" puis on saute au dessus de l'autre message Sinon, on saute au desses du bon message, on affiche "Recommence, parce que si tu rentres ca sur le site, ca ne te fera pas de point, lol, il est errone ce pass."
Donc, pour faire la modification que nous avons besoin, nous allons devoir modifier que JNE.
On pourrais changer le JNE par un JE qui donnerai un bon message tout le temps mais si par un coup enorme de chance, quelqu'un réussissait a trouver le bon pass, et bien on lui donnerai un message d'erreur.
Il est donc beaucoup plus prudent d'oublier totalement le saut, en le nopant.
La valeur hexadécimal du Nop est 90 on va donc changer le 75 12 qui correspond au JNE que nous voulons supprimé.
On recherche donc dans notre Éditeur Hexadécimale 75 12 mais pour être sur, on va chercher 75 12 83 EC, car ce sont les valeur qui suivent le saut.
Maintenant, on remplace 75 12 par 90 90 et on sauvegarde dans un nouveau fichier.
Voila ce que sa donne normalement :
Voila, tuto est finit, j'espère que vous aurez apprit des chose qui vous serviront.
Merci a toutes les personne qui m'ont aidé a avancé pour que j'ai le niveau de crée ce tuto !
---- > TheHardButcher
Il est interdit de modifier ce tuto et de le redistribuer sans autorisation.
Si vous désirez le copier, demandez la permission a l'administrateur de ProgSource.fr.cr, mais vous devrez citer le nom de l'auteur ( TheHardButcher ) et ProgSource.fr.cr
Si vous désirez le copier, demandez la permission a l'administrateur de ProgSource.fr.cr, mais vous devrez citer le nom de l'auteur ( TheHardButcher ) et ProgSource.fr.cr
Bonjours, et bienvenue pour mon premier tuto.
Je vous prévient déjà qu'il n'est surement pas parfait, qu'il y aura surement des fautes d'orthographe idiote, et je m'en excuse.
Ils vous apprendras quelques bases du cracking, mais sans rentrer dans les détails.
Pour réaliser ce tuto, vous aurez besoin :
- D'un désassembleur ( Win32Dasm suffit, mais prenez plutôt ollydbg si vous le possédez ) Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
- D'un éditeur Hexadécimal.
- Du Crackme4 de NewbieContest ( vous devez vous inscrire sur Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! et allez télécharger le fichier de cette page Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris! )
J'utiliserais PEID au début pour vous montrez sont fonctionnement, mais vous n'en aurez pas besoin.
Le but sur le site de challenge, est de trouver un password valide, mais vous, je vais vous demander quelques chose de beaucoup plus simple, car je ne veux pas vous embrouillez n'y permettre a tout le monde de réaliser ce challenge facilement en lisant un tuto ^^
Nous allons donc devoir modifier le fichier pour que tout les password rentré soit considéré comme valide.
D'abord, je vais procéder méthodiquement comme avec n'importe quel crackme.
Je l'ouvre, et regarde ce que je vais avoir a faire. ( bien que ma tache ne sera pas celle demandez dans le crackMe )
Il me demande un pass, en nombre, je test 123456, et me dit que ce n'est pas le bon.
Je sais donc maintenant quels référence string seront a chercher.
Je vais l'ouvrir avec PEID. Voilà ce que sa me donne :
Ce qui me signifie que le Crackme n'est pas packer. Je ne rentrerai donc pas dans les détails cette fois ci.
Je vais donc maintenant pouvoir l'ouvrir avec mon désassembleur.
Pour ollydgb, je doit faire
clique droit --> search for --> all referenced strings
Une fois dans le petit menu qui vient de s'ouvrir, je voie bien tout les dialogs qui m'ont été proposé avec aussi un Bravo, tu peut rentrer le mot de passe sur le site.
Je vais donc cliquer sur un des ces référence, et chercher le moment ou le pass est demandé
CPU Disasm
Address Hex dump Command Comments
004014DD |. 68 60134000 PUSH 00401360 ; ASCII "Rentre le nombre ici pour voir si tu peux valider sur le site
"
004014E2 |. E8 B9170000 CALL <JMP.&msvcrt.printf>
004014E7 |. 83C4 10 ADD ESP,10
004014EA |. 83EC 08 SUB ESP,8
004014ED |. 68 40504000 PUSH OFFSET 00405040
004014F2 |. 68 9F134000 PUSH 0040139F ; ASCII "%d"
004014F7 |. E8 94170000 CALL <JMP.&msvcrt.scanf>
004014FC |. 83C4 10 ADD ESP,10
004014FF |. 813D 40504000 CMP DWORD PTR DS:[405040],163B37
00401509 |. 75 12 JNE SHORT 0040151D
0040150B |. 83EC 0C SUB ESP,0C
0040150E |. 68 C0134000 PUSH 004013C0 ; ASCII "Bien, tu peux rentrer ce mot de passe sur le site, ca te fera gagner des points :D"
00401513 |. E8 88170000 CALL <JMP.&msvcrt.printf>
00401518 |. 83C4 10 ADD ESP,10
0040151B |. EB 10 JMP SHORT 0040152D
0040151D |> 83EC 0C SUB ESP,0C
00401520 |. 68 20144000 PUSH 00401420 ; ASCII "Recommence, parce que si tu rentres ca sur le site, ca ne te fera pas de point, lol, il est errone ce pass."
On voit très bien le %d suivit d'un cmp ( comparaison ) puis un JNE ( saut si inégal si je me rappel bien ^^ ) qui saute juste au deçu du message : Bien, tu peux rentrer ce mot de passe sur le site, ca te fera gagner des points :D
Pour faire un schema simple, voici ce que l'ont pourrait voir dans sa tête :
Demande du passe --> %d --> CMP ( qui compare ) Si c'est bon, on marque "Bien, tu peux rentrer ce mot de passe sur le site, ca te fera gagner des points :D" puis on saute au dessus de l'autre message Sinon, on saute au desses du bon message, on affiche "Recommence, parce que si tu rentres ca sur le site, ca ne te fera pas de point, lol, il est errone ce pass."
Donc, pour faire la modification que nous avons besoin, nous allons devoir modifier que JNE.
On pourrais changer le JNE par un JE qui donnerai un bon message tout le temps mais si par un coup enorme de chance, quelqu'un réussissait a trouver le bon pass, et bien on lui donnerai un message d'erreur.
Il est donc beaucoup plus prudent d'oublier totalement le saut, en le nopant.
La valeur hexadécimal du Nop est 90 on va donc changer le 75 12 qui correspond au JNE que nous voulons supprimé.
On recherche donc dans notre Éditeur Hexadécimale 75 12 mais pour être sur, on va chercher 75 12 83 EC, car ce sont les valeur qui suivent le saut.
Maintenant, on remplace 75 12 par 90 90 et on sauvegarde dans un nouveau fichier.
Voila ce que sa donne normalement :
Voila, tuto est finit, j'espère que vous aurez apprit des chose qui vous serviront.
Merci a toutes les personne qui m'ont aidé a avancé pour que j'ai le niveau de crée ce tuto !
---- > TheHardButcher
Il est interdit de modifier ce tuto et de le redistribuer sans autorisation.
Si vous désirez le copier, demandez la permission a l'administrateur de ProgSource.fr.cr, mais vous devrez citer le nom de l'auteur ( TheHardButcher ) et ProgSource.fr.cr