Total Recorder 2.2
Registriamoci con qualsiasi seriale


26/12/99

by "AndreaGeddon"

 

 

UIC's Home Page

Published by Quequero


Ma quanto ci � voluto a crackare so prog??? :)

 
UIC's form
Home page:  www.andreageddon.8m.com
E-mail: [email protected]
IRC chan:   #crack-it
UIC's form

Difficolt�

(x)NewBies ( )Intermedio ( )Avanzato ( )Master

 

Registriamoci con qualsiasi seriale.


Total Recorder 2.2
Registriamoci con qualsiasi seriale
Written by AndreaGeddon

Introduzione

Di solito cerco il seriale giusto, ma qui la routine era molto pallosa, quindi ho optato per il cracking..

Tools usati

-  SoftIce

- WDasm

- un Hex Heditor qualunque

URL o FTP del programma

Da qualche parte in questo sito sfigato:   http://www.highcriteria.com

Notizie sul programma 

Nome + serial. Come al solito non so neanche a cosa serva questo prog, e francamente non mi interessa.

Essay

Qual'� il problema? Non basta il solito jumpetto a far fuori questa protezione? Vediamo cosa fare. Avevo intenzione di cercare il serial giusto, ma poi non avevo proprio voglia di mettermi a sguazzare in tutte quelle call, quindi vediamo come crakkarlo. Si parte inserendo un nome a caso ed un serial a caso. Se ci fate caso, potete sia trovare corrispondenze nel codice che vi dicono che il serial deve essere di 27h = 39 char, sia se iniziate a battere lettere a caso: l'editbox si fermer� al 39� char. Quindi volendo sappiamo gi� di quanti char � formato il seriale. Se volete cercatevelo. Breakate con GetDlgItemTextA. Iniziate a steppare, fino ad arrivare alla linea:

0040C2BB   CALL  0041B180                call sospetta

                      ADD   ESP, 00000008

                     TEST   EAX, EAX                viene controllato eax

                      JNE     0040C332                se eax � un non-zero, salta alla chiamata di errore

 

Quindi, come si pu� facilmente immaginare, basta noppare quel jump, ed il programma si registrer�. Bene. Finito? Nooo! Riavviate il programma, e sar� di nuovo non registrato. Come facciamo? Beh, la cosa pi� semplice a cui pensare � che a 0041B180 ci sia la routine che controlla il seriale e decide se � giusto oppure no. Evidentemente per un seriale giusto deve essere restituito uno zero in eax. Comunque, il punto � che la routine a 0041B180 probabilmente viene chiamata anche all'inizio del programma, quando viene ricontrollato il serial. Allora settiamo un break sulla linea 0041B180, e riavviamo il programma. Bam. Il softice poppa di nuovo. Steppiamo fino al ret della linea 0041B1E4. Questo ci porter� alla parte di codice che ha chiamato questa routine. Infatti, arriviamo dritti dritti alla linea 0041944B. Sappiamo gi� che da questa routine deve uscire un valore zero in eax affinch� il prog creda che il serial sia giusto. Comunque, se guardate oltre la call, nonn ci sono jump. Per� un test eax, eax c'�, alla linea 0041945D. La riga dopo � un SETE  CL. Questo setta cl ad 1 se il flag Zero � attivo. nel nostro caso non � attivo, quindi  cl rimane a zero. Se proviamo ad attivare a mano col softice il flag zero, dopo l'istruzione di test, cl verr� settato a 1 e proseguendo il programma stavolta creder� di essere registrato.

Se ho tempo far� l'update di questo tute su come trovare il serial.

 

Note finali

Saluto tutti gli amici della mailing list.

Disclaimer

Queste informazioni sono solo a scopo puramente didattico.

   

UIC's page of reverse engineering, scegli dove andare:
Home   Anonimato   Assembly    CrackMe   ContactMe   Forum   Iscrizione
Lezioni    Links   Linux   NewBies   News   Playstation
Tools   Tutorial   Search   UIC Faq
UIC