|
|
|
|
by "Caronte" |
|
|
Published by Quequero |
|
|
Ciao Caronte sei nuovo? Ad ogni modo grazie per la tua soluzione, è importante che tutti si applichino un pochetto :) |
|
UIC's form |
|
UIC's form |
Difficoltà |
(x)NewBies ( )Intermedio ( )Avanzato ( )Master |
|
Ok ora vi illustrerò come sono riuscito a crackare sto programma, purtroppo le mie ancora esigue conoscenze non mi hanno permesso di riuscire a svelare il mistero di come Winrar calcoli il serial ma poco importa, l'importante è provarci.
Introduzione |
Il corso offre due possibili vie di soluzione: trovare il seriale e quindi decifrare il modo con con WinRar calcola il seriale o (quello più semplice) patchare il prog in modo che accetti qualsiasi seriale, fregandocene del calcolo del seriale. Io per motivi "tecnici" mi sono dovuto fermare allo stadio più semplice.:)
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
Ok si inzia.Come prima cosa ho disassemblato il suddetto programma con il
caro vecchio W32Dasm......mentre il tipo mi disassemblava il tutto io cominciavo a
esaminaredal vivo il programma. Una volta avviato il programma in alto ci mostra la
scritta "Evaluation Copy" che ciricorda appunto che il programma deve essere
ancora craxxato.....ops volevo dire registrato. Andiamo nel menù Options-Registration e
vediamo cosa ci si presenta: ci sono due caselle dove vobbiamo nella prima inserire nella
prima una parola o magari il nostro nome,mentre nella seconda dobbiamo inserire il codice
che quasi certamente il farabutto si calcola dal testo che abbimo inserito nella prima
casella. Provo a schiacciare il tasto ok senza inserire niente e non succede niente,
mentre inserendo qualche cosa nelle due caselle ci appare un tanto carino messagio che ci
informa che abbiamo inserito qualche cazzata o nella prima o nella seconda casella di
testo. Ok fin qui tutto a posto, intanto il nostro Dasm ha terminato di disassemblare il
nostro protagonista e andando a cercare fra le sue string in cerca di qualche indizio. Il
caro programmuzzo ci offre parecchi spunti......una delle prime stringhe che colpisce
maggiormente la mia attenzione è "Thank you for support" e "Correct
registration" che si trovano l'una di seguito all'altra:
Jump at address:
|:00409DB3(C)
|
:00409DE1
PUSH 00000040
String: "Correct registration"
:00409DE3
PUSH 00000368
:00409DE8
CALL 00406EC8
:00409DED
POP ECX
:00409DEE
PUSH EAX
String: "Thank you for support"
:00409DEF
PUSH 00000367
:00409DF4
CALL 00406EC8
:00409DF9
POP ECX
:00409DFA
PUSH EAX
:00409DFB
MOV EDX, DWORD PTR [EBP+08]
:00409DFE
PUSH EDX
Allora andando un pò più su si può notare l'indirizzo del jump che chiama tutto ciò.....ANDIAMOCI!!! Premiammo shift+f12 e inseriamo l'indirizzo del salto......come possiamo osservare se questo salto a luogo WinRar crede che i dati inseriti siano giusti e ci appare il msg di registrazione avvenuta, ma in realtà non è così, infatti una volta inseriti i dati WinRar li la a scrivere nel suo caro file Rar.ini riportando pari pari il nostro nome e il cadice associato anche se sbagliato e siccome il prog controlla a ogni avvio questo file al successivo avvio del programma capirà tutto e saremo di nuovo al punto di partenza.Comunque c'è un'altra stringa interessante e cioè "Evaluation copy", portandoci su di essa e guardando un pò più si possono notare alcune cose particolarmente interessanti:
:00414C59 CMP DWORD PTR [0045157C],
00000000
:00414C60 JNE 00414C91
String: "evaluation copy"
:00414C62 PUSH 00000369
:00414C67 CALL 00406EC8
:00414C6C POP ECX
:00414C6D PUSH EAX
Quello che ci interessa a noi è quel compare a 00414C59 e il successivo JNE (jump if not equal = salta se non è uguale), infatti da questo salto dipende il caricamento della modalità evaluation o registrata....... noi non dobbiamo far altro che invertire questo JNE in JE o meglio ancora in un jump incondizionato e il gioco e fatto, il prog si caricherà sempre come registrato. Finalmente abbiamo finito, cmq per completezza tutto ciò erapossibile farlo anche con il SoftIce piazzando qualche bel bpx su chiamate di lettura a file .ini....... probabilmente sarebbe stato anche più divertente e magari avremo potuto anche scoprire come WinRar controllava la validità del codice, cmq sarà per la prossima volta(se ci sarà)!!
Ciao a tutti
by
CARONTE
|
Ok siamo arrivati alla fine, cosa dire? Ringrazio principalmente Quequero e tutti quelli che hanno contribuito allo sviluppo di questo splendido sito. Voi mi avete fatto conoscere l' affascinante arte del cracking e tutto ciò che vi è connesso, ve ne sarò per sempre grato!!:)
Disclaimer |
| UIC's page of reverse engineering, scegli dove andare: |
| Home Anonimato Assembly ContactMe CrackMe Forum Iscrizione |
| Lezioni Links Linux NewBies News Playstation |
| Search Tools Tutorial UIC Faq XXX Page |
| UIC |