TUT DE CRYSTAL PROJECT1 CRACKME
by ub0.g0ss
Introduction
Oulah, ça craint, je passe ma soutenace de fin d'étude dans 3 jours, je suis pas du tout en avance, et je trouve rien de mieux à faire que d'écrire ce tut. Enfin, rien de tel qu'un petit crack pour se changer les idées.
Ici nous allons nous attaquer à un crackme qui demande d'entrer deux serial, et on va utiliser le classique BPX hmemcpy sous softice.
Le crack
Bon le prog demande d'entrer un nom et deux serial. Il est clair que le test doit être du genre :
Test serial 1
jmp bad cracker si mauvais
test serial 2
jmp vers bad cracker si mauvais
jmp vers good cracker.
Donc nous allons entrer un nom et 2 serial bidons :
Name : ub0.g0ss
serial1 : 123456
serial2 : 654321
On fait un BPX hmemcpy sous softice (CTRL-D pour appeler softice)
on sort de softice (CTRL-D) et on clique sur TRY
Softice break
Bon maintenant méthode classique, on compte le nombre de fois qu'on appuie sur F5 pour quitter softice (5 fois).
Puis on fait BC * pour enlever le breakpoint, et on entre à nouveau nom serial 1 et serial 2.
On fait un BPX hmemcpy sous softice et on clique sur TRY.
Re break, cette fois on appuie sur F5, le nombre de fois compté auparavent moins un (c'est à dire 4 fois). On appuie sur F12 pour sortir des API jusqu'à arriver au prog, et là, on doit voir une série de RET, on trace avec F10 pour sortir de tous ces RET (attention c'est assez rapide). et ensuite on doit arriver là :
:0042D511 E8CAC8FEFF CALL 00419DE0
:0042D516 8B55FC MOV EDX,[EBP-04] >> notre serial 1 bidon
:0042D519 58 POP EAX >> le bon serial 1
:0042D51A E8B163FDFF CALL 004038D0
:0042D51F 752A JNZ 0042D54B >> saute vers bad cracker si mauvais serial 1
:0042D521 8D55F0 LEA EDX,[EBP-10]
:0042D524 A118F74200 MOV EAX,[0042F718]
:0042D529 E822900FDFF CALL 00419DE0
:0042D52E 8B45F0 MOV EAX,[EBP-10]
:0042D531 50 PUSH EAX >> le bon serial 2
:0042D532 8D55FC LEA EDX,[EBP-04]
...
Ici ,on cherche les deux bons serials, don on se place sur le CALL en 0042D51A, et on tape :
D EDX nous voyons 123456 >> notre serial bidon
D EAX nous voyons 10075 >> tiens c'est quoi ça?? on va le noter
Ensuite on se place sur le JNZ en 0042D51F, et on tape :
R FL Z pour inverser le saut
Maintenant on peux continuer à tracer, on va en 0042D532 et on tape :
D EAX nous voyons : 200 >> on va le noter aussi.
On retire notre breakpoint : BC *
on quitte softice : F5
On tape les codes qu'on a trouvé :
Name : ub0.g0ss
serial 1 : 10075
serial 2 : 200
TRY >> WELL DONE CRACKME CRACKED
Et voilà.
Bon je ne sais pas si mon tut était très clair, si vous n'avez rien compris ou si vous avez des questions, E-mailez moi à l'adresse suivante :
ub0.g0ss@caramail.com
@+ pour un prochain tut.