___           ___           ___           ___           ___           ___     
     /\  \         /\__\         /\  \         /\__\         /\  \         /\  \    
     \:\  \       /:/  /        /::\  \       /::|  |       /::\  \       /::\  \   
      \:\  \     /:/__/        /:/\:\  \     /:|:|  |      /:/\:\  \     /:/\ \  \  
      /::\  \   /::\  \ ___   /:/  \:\  \   /:/|:|__|__   /::\~\:\  \   _\:\~\ \  \ 
     /:/\:\__\ /:/\:\  /\__\ /:/__/ \:\__\ /:/ |::::\__\ /:/\:\ \:\__\ /\ \:\ \ \__\
    /:/  \/__/ \/__\:\/:/  / \:\  \ /:/  / \/__/~~/:/  / \/__\:\/:/  / \:\ \:\ \/__/
   /:/  /           \::/  /   \:\  /:/  /        /:/  /       \::/  /   \:\ \:\__\  
   \/__/            /:/  /     \:\/:/  /        /:/  /        /:/  /     \:\/:/  /  
                   /:/  /       \::/  /        /:/  /        /:/  /       \::/  /   
                   \/__/         \/__/         \/__/         \/__/         \/__/    
				   .openmod.org


Crackme#1 - crack-break crew



-|- A. Introduction


Bonjour à tous. 
Je m'appretais a reprendre le train pour rentrer chez moi, qd j'ai reçu par email un 
petit crackme#1 de la crack-break crew.. Au programme du jour donc, un petit crackme 
..EXTREMENT facile, vraiment pour se mettre en jambe aprés les fetes de noel trop arrosées.



-|- B. crack-break crew


----------------------------------------------------------------------------------------

Level: 0 voir -1 !
crackme author : crack-break crew
type : Serial

----------------------------------------------------------------------------------------


Par habitude je degaine PEID afin de verifier si l'exe est packed ou crypted :

apparement non : MASM32 / TASM32

Je rentre un serial bidon histoire de tester : 1234567..
Ne perdons pas de temps, lançons ollydebug

tout va se passer ici : 

004010CF  |.  57            PUSH EDI                                 ; /String => "1234567"
004010D0  |.  E8 BD000000   CALL             ; \lstrlenA
004010D5  |.  8BD0          MOV EDX,EAX
004010D7  |.  33C0          XOR EAX,EAX
004010D9  |.  33C9          XOR ECX,ECX
004010DB  |.  B9 00000000   MOV ECX,0
004010E0  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
004010E3  |.  83F8 63       CMP EAX,63
004010E6  |.  0F85 86000000 JNZ 00401172
004010EC  |.  33C0          XOR EAX,EAX
004010EE  |.  41            INC ECX
004010EF  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
004010F2  |.  83F8 72       CMP EAX,72
004010F5  |.  75 7B         JNZ SHORT 00401172
004010F7  |.  33C0          XOR EAX,EAX
004010F9  |.  41            INC ECX
004010FA  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
004010FD  |.  83F8 61       CMP EAX,61
00401100  |.  75 70         JNZ SHORT 00401172
00401102  |.  33C0          XOR EAX,EAX
00401104  |.  41            INC ECX
00401105  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401108  |.  83F8 63       CMP EAX,63
0040110B  |.  75 65         JNZ SHORT 00401172
0040110D  |.  33C0          XOR EAX,EAX
0040110F  |.  41            INC ECX
00401110  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401113  |.  83F8 6B       CMP EAX,6B
00401116  |.  75 5A         JNZ SHORT 00401172
00401118  |.  33C0          XOR EAX,EAX
0040111A  |.  41            INC ECX
0040111B  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
0040111E  |.  83F8 2D       CMP EAX,2D
00401121  |.  33C0          XOR EAX,EAX
00401123  |.  41            INC ECX
00401124  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401127  |.  83F8 62       CMP EAX,62
0040112A  |.  75 46         JNZ SHORT 00401172
0040112C  |.  33C0          XOR EAX,EAX
0040112E  |.  41            INC ECX
0040112F  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401132  |.  83F8 72       CMP EAX,72
00401135  |.  75 3B         JNZ SHORT 00401172
00401137  |.  33C0          XOR EAX,EAX
00401139  |.  41            INC ECX
0040113A  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
0040113D  |.  83F8 65       CMP EAX,65
00401140  |.  75 30         JNZ SHORT 00401172
00401142  |.  33C0          XOR EAX,EAX
00401144  |.  41            INC ECX
00401145  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401148  |.  83F8 61       CMP EAX,61
0040114B  |.  75 25         JNZ SHORT 00401172
0040114D  |.  33C0          XOR EAX,EAX
0040114F  |.  41            INC ECX
00401150  |.  8A0439        MOV AL,BYTE PTR DS:[ECX+EDI]
00401153  |.  83F8 6B       CMP EAX,6B
00401156  |.  75 1A         JNZ SHORT 00401172
00401158  |.  6A 00         PUSH 0                                   ; /Style = MB_OK|MB_APPLMODAL
0040115A  |.  68 B9304000   PUSH 004030B9                            ; |Title = " SUCCESS! !"
0040115F  |.  68 8C304000   PUSH 0040308C                            ; |Text = " good reverser!! but u are still a newbie..."
00401164  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; |hOwner
00401167  |.  E8 3E000000   CALL            ; \MessageBoxA


En 004010CF, il met notre serial bidon dans ESI .. ensuite nous avons une succession de  :

MOV AL,BYTE PTR DS:[ECX+EDI]

en gros il compare caractere par caractere, notre serial bidon avec une valeur qui est native au crackme. J'entends 
par là qu'elle n'est pas generer par un algo quelconque : 


004010E3  |.  83F8 63       CMP EAX,63
004010F2  |.  83F8 72       CMP EAX,72
004010FD  |.  83F8 61       CMP EAX,61
00401108  |.  83F8 63       CMP EAX,63
00401113  |.  83F8 6B       CMP EAX,6B
0040111E  |.  83F8 2D       CMP EAX,2D
00401127  |.  83F8 62       CMP EAX,62
00401132  |.  83F8 72       CMP EAX,72
0040113D  |.  83F8 65       CMP EAX,65
00401148  |.  83F8 61       CMP EAX,61
00401153  |.  83F8 6B       CMP EAX,6B

pour chaque comparaison il verifie la valeur ASCII de notre serial, par une version hexa :
en l'occcurence ici : 1 (soit 31 hexa) cmp a 63 = c

ce qui nous donne : crack-break

ok. c'est nullissime. mais bon. :)


-|- C. conclusion

rarement vu crackme si facile à dire vrai, mais il est fait pour nous remettre en jambe aprés des fetes de noels
trop chargés.

greets a tout le chan #old-school sur irc.worldnet.net, Misto, Kyler, Goda, Azerty.. 

retrouvez sur http://thomas.openmod.org l'ensemble de mes tutos et ezines.

a tres bientot dans notre sport favoris !