Tutorial de Cracking
              
(2 ième Partie)

Julien Lemaire
tutorial crackingtutorial crack precedenttutorial crack suivant

 

 

Dans cette seconde partie de notre tutorial, nous allons aborder différents raisonnement pour cracker, toujours avec StartClean...(le pauvre :( ). Dans cette partie du cours, je m'adresse particulierement aux Newbies qui ont deja essayer de cracker un truc mais qui ont pas réussi, sans comprendre pourquoi...

 

 

Imaginez le contenu d'un programme :

Il y a des menus, un titre en haut de la fenêtre, une barre d'état, des boites de dialogues....
Tous ces elements contiennent du texte (menu "Fichier", "Erreur 806...")
Eh ben, WinDasm permet de retrouver ce texte a l'interieur de l'executable !
C'est ce que nous avons deja fait dans la premiere partie du cours (souvenez vous de la recherche sur le mot "name"), sauf que maintenant, je vais expliquer un raisonnement que beaucoup de newbies ont mais qui est erroné...

Lorsque l'on rentre un code au pif, on tombe sur la boite de dialog "Incorrect Code"...
Reflechissons donc deux secondes : ce message ne s'affiche qu'a condition que le code soit faux...
Donc, si on arrive a retrouver ce message, on pourrait faire en sorte qu'il ne s'affiche plus (en "noppant" un saut conditionnel par exemple...) Essayons ce raisonement dans WinDasm...:

Lancer Windasm.
Desassembler le fichier StartClean. (cf cours de crack 1)
Faites
Refs => String Data References....

Là, vous devriez avoir une petite fenetre comme celle ci :

 

 

Bon, balladez vous dedans jusqu'a ce que vous trouviez la phrase "Incorrect Code"...
Double cliquez sur cette phrase : vous êtes amené a l'endroit precis ou on y fait référence !
Cependant, de la même manière qu'il y avait plusieurs fois le mot "name" dans le 1er cours, verifiez que
"Incorrect Code" n'est pas repeté plusieurs fois dans le programme...(double cliquez plusieurs fois dessus)
Par chance, il n'y a qu'une seule occurance a cette phrase !

NB: S'il y avait eu plusieurs occurance, il aurait fallu s'occuper de chacunes de ces occurances, ou alors determiner celle qui nous interresse (cf 1ere partie du cours).

Bien, maintenant observons l'endroit ou on a atteri :

 

 

La ligne "Referenced by..." indique l'adresse qui nous a amenée ici, c'est a dire depuis quel endroit du programme est-ce qu'on a sauté...Il y a un "C" entre parenthese juste derriere l'adresse.
Ce "C" signifie tout simplement
"Conditional". Ca veut dire que c'est un saut conditionnel qui nous a envoyé a cette partie du code. Réfléchissons un minimum : si on veut ne pas venir ici, il suffit de nopper ce vilain saut !

On va donc aller a l'adresse indiquée par le
"Referenced by....", a savoir 004027A3...Faites :
Goto => Goto Code Location... et rentrer l'adresse en question...

 

 

Oh !! Le beau JE 004027C1 !! Bon, ben vous savez ce qu'on va faire : On va nopper le saut :)
Donc, dans l'éditeur hexadecimal, vous aller cherchez 741C...cependant, il va falloir mettre plus d'instruction que "741C" parce qu'il peut y avoir plusieurs fois "741C" dans le code Hexadecimal du programme :)
Donc, on va chercher "741C" en rajoutant un peu devant et un peu derrière :
83C40485C0741CC7054C7240

NB: Si vous comprenez pas d'où sortent les chiffres avant et après, faites le rapprochemment avec le listing.

Une fois la recherche effectuée,
vous remplacez le 741C par 9090...

Maintenant, lancer le prog et enregistrer vous n'importe comment : ca marche !!! Super !!!
Etes-vous sûr que ca marche vraiment ? Bien sur, le programme ne vous dit plus "Incorrect Code", mais êtes vous pour autant enregistrer ? Un seul moyen de le savoir : fermer le prog' et relancer le...
Sniff!...ben non, ca n'a pas marcher :(...enfin, pas tout a fait...

Explication: En fait, tout ce qu'on a fait, c'est détourner le message censé nous indiquer que le code est incorrect...Ce message s'affiche lorsque le programme sait deja qu'on a entré un faux code.

Reprenons les choses pas-a-pas :
On vous demande de rentrer un nom et un code...
Lorsque vous cliquez sur "OK", le programme verifie le code :
Si il est bon, c'est cool et vous êtes enregistré,
s'il n'est pas bon, on vous previent par un petit message que le code est mauvais...

Donc,s'il y a le message "Incorrect Code", ca veut dire que le programme a deja determiné que le code était faux... Inutile donc d'essayer de changer le message qu'on nous affiche, c'est bien avant qu'il faut agir :) Compris ??

Si j'ai pris le temps d'expliquer cette erreur, c'est parce que beaucoup de Newbies tombent dans le piege lors de leur premiers crack. J'espere donc que ce cours aura eclairé certains et prévenu d'autres sur les resultats d'un tel raisonnement ;)

tutorial crackingtutorial crack precedenttutorial crack suivant

 


positionnement google - infrastructures virtuelles - maquilleuse - Cours de maquillage - passage aux mines - annonces bateaux