Comment cracker Crack Duelist Crackme 1 par

Ok, je suis de retour pour m'amuser avec un CrackMe!
C'est un CrackMe Windows écrit par Duelist.
La protection se résume à un serial à entrer!

GO GO GO !!


Ok, posez un BPX GetWindowTextA et GetDlgItemTextA <ENTER>
Choisissez un faux serial genre: 123456789
Pressez CHECK et vous êtes de retour dans SI!
Vous devriez voir :

:00401107  E855020000          CALL    USER32!GetDlgItemTextA
:0040110C  33C0                XOR     EAX,EAX
:0040110E  80B8F720400000      CMP     BYTE PTR [EAX+004020F7],00  <= Serial entre?
:00401115  7418                JZ      0040112F                    <= Si NON goto bad cracker 
:00401117  80B0F720400043      XOR     BYTE PTR [EAX+004020F7],43  <= xor avec 43h
:0040111E  80B0F72040001E      XOR     BYTE PTR [EAX+004020F7],1E  <= xor avec 1Eh
:00401125  80B0F720400055      XOR     BYTE PTR [EAX+004020F7],55  <= xor avec 55h
:0040112C  40                  INC     EAX
:0040112D  E2DF                LOOP    0040110E  <= boucle pour chaque caractère



Donc nous voyons que le CrackMe fait un XOR 43h puis 1Eh puis 55h !!
Mais qu'est ce qu'il XOR?
Pressez F10 pour tracer et vous voyez:

:0040114E  68D3204000          PUSH    004020D3
:0040114E  68F7204000          PUSH    004020F7

Tapez D 4020D3 ... vous voyez ceci:

:004020D3 7B 61 65 78 64 6D 26 6B-7A 69 6B 63 65 6D 26 3C  {aexdm&kzikcem&<
:004020E3 26 66 6D 7F 6A 61 6D 7B-26 6A 71 26 6C 7D 6D 64  &fmjam{&jq&l}md
:004020F3 61 7B 7C                                         a{|

C'est peut-être ce qui est XORé!

tapez D 4020F7 :

Vous voyez dans la fenêtre des DATA 9:;<=>
Ce n'est pas important, c'est le serial entré après le XOR...

Donc vous avez la clé, nous allons appliquer le XOR dessus!
Pour trouver le bon code, il faudra inverser l'ordre du XOR: donc XORer dans cet ordre:
55h ; 1Eh et 43h.
Calculons maintenant le serial!

Pour 55h:

7B 61 65 78 64 6D 26 6B 7A 69 6B 63 65 6D 26 3C 26 66 6D 7F 6A 61 6D 7B 26 6A 71 26 6C 7D 6D 64 61 7B 7C
                                        XOR

55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55

                                        =
2E 34 30 2D 31 38 73 3E 2F 3C 3E 36 30 38 73 69 73 33 38 2A 3F 34 38 2E 73 3F 24 73 39 28 38 31 34 2E 29



Pour 1Eh:

2E 34 30 2D 31 38 73 3E 2F 3C 3E 36 30 38 73 69 73 33 38 2A 3F 34 38 2E 73 3F 24 73 39 28 38 31 34 2E 29
                                        XOR

1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E

                                        =
30 2A 2E 33 2F 26 6D 20 31 22 20 28 2E 26 6D 77 6D 2D 26 34 21 2A 26 30 6D 21 3A 6D 27 36 26 2F 2A 30 37



Pour 43h:

30 2A 2E 33 2F 26 6D 20 31 22 20 28 2E 26 6D 77 6D 2D 26 34 21 2A 26 30 6D 21 3A 6D 27 36 26 2F 2A 30 37

43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43 43

                                        =
73 69 6D 70 6C 65 2E 63 72 61 63 6B 6D 65 2E 34 2E 6E 65 77 62 69 65 73 2E 62 79 2E 64 75 65 6C 69 73 74


Mais maintenant, qu'est ce que ce nombre?
On va le convertir en une chaîne ASCII...

73696D706C652E637261636B6D652E342E6E6577626965732E62792E6475656C697374 est équivalent à:


73 69 6D 70 6C 65 2E 63 72 61 63 6B 6D 65 2E 34 2E 6E 65 77 62 69 65 73 2E 62 79 2E 64 75 65 6C 69 73 74 
s  i  m  p  l  e  .  c  r  a  c  k  m  e  .  4  .  n  e  w  b  i  e  s  .  b  y  .  d  u  e  l  i  s  t

Le bon code est: simple.crackme.4.newbies.by.duelist

hehe !!
Nous avons réussi!
J'espère que vous avez tout compris à ce tut!
C'était vraiment simple. Vous pouvez m'écrire à:

[email protected]

@+

(traduction par Secret Agent James Bond 007 : [email protected])


                                ACiD BuRN [ReFLeXZ'99 & ECLiPSE'99]