Les principales étapes pour cracker un prog:

Étape 1 :

Tout d'abord lancer le prog a cracker et voir de quel types de Protection il y a.

1. limitation à X de jours ou à X utilisations. (Il est entier)
2. version bridée (incomplète à l'utilisation mais il quand même entier).
3. les versions "démo" (tout n'est pas dedans).

IL faut récupérer le maximum d'information sur le prog (titre des fenêtres de registration, invalide code, bouton inaccessible, les nags screen..etc.), tout ce qui n'est plus en version enregistrer en fait. Pour être sur consultez la doc. du prog il doivent en principe parler des fonctions inaccessible qui deviennent accessibles a l'enregistrement du prog.

Après il y a 2 solutions : soit vous vous servez de softice, soit de w32dasm. Si vous débutez, servez vous plutôt de w32dasm c'est + facile que softice et moins prise de tête. Mais sachez que l'idéal c'est quand même softice une fois qu'on le maîtrise. Je ne vais pas vous décrire la procédure exacte pour cracker un programme car c'est différent à chaque fois. Mais je vais expliquer les trucs qui se retrouvent a peu près dans chaque prog.
Ah oui chaque fois que vous chercher des informations sur le prog n'oubliez jamais d'essayer de vous enregistrer en mettant n'importe quel nom et n'importe quel serial et d'appuyer sur register car la fenêtre qui arrive quand vous faites ça, généralement : "le numéro que vous avec saisi est incorrect" sert beaucoup dans w32dasm vous verrez + loin pourquoi. Notez ce qu'il dit et gardez le bien quelque part.

 

 

Étape 2 : désassemblage

Il faut toujours avant de commencer a agir sur le prog faire une copie de l'EXE. Sélectionnez l'EXE appuyer sur control et c puis control et v et voila une copie à été faite. Faites en au moins 3 : une pour l'ouvrir dans w32dasm, une normale pour vérifier, et une pour l'éditer avec l'éditeur hexadécimal.

Ensuite désassemblez le prog dans w32dasm. Lancez w32dasm aller dans le menu disassembler--->Open file to disassemble choisissez l'exe du prog a desassembler.

Ensuite le désassemblage commence, ça prend un peu de temps, des fois ça prends 15min pour un prog !!! mais bon ça arrive pas souvent.

Une fois fini vous voyez ça, tout en haut le titre de l'EXE, et puis en dessous cela varie selon les progs (la le titre c'est cpuidle.exe)

 

 

Etape 3 : localisation

Ensuite appuyer sur ce bouton c'est les String data références, c'est la ou il y a les trucs
les + importants. Vous vous souvenez de la phrase que je vous avais dit de noter ?
(n'oubliez pas la phrase change selon le prog) "le numéro que vous avec saisi est incorrect"

ben cherchez la dans la liste qui apparaît quand vous cliquer sur ce bouton .

Une fois que vous voyez la phrase magique : "le numéro que vous avec saisi est incorrect"
(sur limage de dessous c'est "This shareware version of cpuidle")
Double cliquez dessus et hop vous atterrissez (dans la fenêtre de codes ) a l'endroit en question.

Ca commence toujours par *Possible Stringdata ref from Code Obj puis la phrase. Apres cela varie selon le prog mais Sacher que très souvent il suffit juste de changer un jz en je, généralement quelques lignes au dessus de "le numéro que vous avec saisi est incorrect" et puis c'est bon. Ca suffit déjà pour plein de prog.

Je vous mets en dessous tout les types de sauts rencontrés, avec ce qu'il font et leur correspondance en hexadécimal (j'explique + bas).

Assembleur :                                                Hexadécimal :

 
JNE Saute si pas égal 75
JE Saute si Egal 74
JMP Saute EB
JA Saute si au dessus 0F87
JNA Saute si pas au dessus 0F86
JAE Saute si au dessus ou égal 0F83
JNAE Saute si pas au dessus  ou égal 0F82
JB Saute si en dessous 0F82
JNB Saute si pas en dessous 0F83
JBE Saute si en dessous ou égal 0F86
JNBE Saute si pas en dessous ou égal 0F87
JG Saute si + grand 0F8F
JNG Saute si pas + grand 0F8E
JGE Saute si + grand ou égal 0F8D
JNGE Saute si pas plus grand ou égal 0F8C
JL Saute si moins grand 0F8C
JLE Saute si moins grand ou égal 0F8D
JNLE Saute si pas moins grand ou égal 0F8E
NOP Ne fais rien 908F

 

Alors une fois que vous avez trouve l'endroit a patcher dans la fenêtre de code par exemple un jne en je il vous faut connaître l'adresse car on ne peut pas directement changer le truc qu'on veut dans la fenêtre du prog désassemblé (c'est très con d'ailleurs). Pour pouvoir changer donc il vous faut un éditeur hexadécimal mais le problème c'est que c' est pas le même langage entre le prog désassemblé et le prog dans l'éditeur hexa, c'est pour ça que dans w32dasm il y a un truc très bien qui vous indique l'adresse a laquelle se trouve votre ligne jaune en assembleur et en hexadécimal.

 

 

Etape 4: adresse hexa

par exemple pour ici a cette adresse 

0043AB84 7304      jnb 0043AB8A 

l'adresse assembleur c'est 0043AB8A et l'adresse en hexadécimal c'est 00039f84h (le petit h indique que l'adresse est en hexadécimal donc il ne faut en tenir compte).

 

 

Etape 5: édition hexadécimal

Apres avoir noter l'adresse en hexadécimal donc 00039f84 ouvrez ultraedit par exemple, faites fichier=> ouvrir =>sélectionnez votre .EXE, et ouvrez le. Ensuite vous devriez voir a peu prés ça:

Ensuite allez dans le menu recherche-->puis aller a la ligne/page

ensuite vous verrez ceci :

Donc comme c'est écrit sur le dessin il vous faut taper 0x ,et après l'adresse hexa donc dans notre exemple ça donne 0x00039f84 ; et voila vous vous trouvez a l'endroit que vous vouliez changer tout a l'heure mais en hexadécimal. Bon chose importante aussi vous vous souvenez + haut l'adresse ou vouliez changer votre saut mais en assembleur?

0043AB84 7304      jnb 0043AB8A

0043AB8A correspond a l'adresse de la ligne dans la fenêtre de code dans w32dasm

7304 correspond a jnb en hexadécimal c'est a dire que dans w32dasm il vous donne déjà la correspondance de jnb en hexadécimal c'est ça qui est utile et qu'il faut retenir pour pouvoir le changer dans l'éditeur hexadécimal. C'est la qu'intervient le tableau des sauts (Voir + haut). Ici donc jnb correspond a 7304 qu'il faudra changer par 7404 ce qui changera le jnb en je.

Ensuite faites enregistrer et voila sans en avoir l'air vous venez de cracker la limite de 30 jours de cpuidle 5.6 hé hé facile non ! now il n'expirera + au bout de 30 jours.