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.