PIXEL3D |
|
|
17/07/2000 |
by "Pincopall" |
|
Published by Quequero |
||
Anche nel cracking come nella vita: le parole
ispirano... |
|
...gli esempi trascinano |
UIC's form |
|
UIC's form |
Difficoltà |
(X)NewBies ( )Intermedio ( )Avanzato ( )Master |
Facciamoci registrare dal programma, facendogli accettare qualsiasi seriale.
Introduzione |
Tools usati |
URL o FTP del programma |
Notizie sul programma |
Essay |
* Possible StringData Ref from Data Obj ->"You
have entered an incorrect "
->"activation code."
|
:00419672 6894EA4E00 push 004EEA94
:00419677 8D85E0F9FFFF lea eax, dword ptr [ebp+FFFFF9E0]
:0041967D 50 push eax
:0041967E E83D640C00 call 004DFAC0
:00419683 83C408 add esp, 00000008
:00419686 8D85E0F9FFFF lea eax, dword ptr [ebp+FFFFF9E0]
:0041968C 50 push eax
:0041968D E83E3F0500 call 0046D5D0
:00419692 83C404 add esp, 00000004
:00419695 33C0 xor eax, eax<====azzera il valore di eax
:00419697 5F pop edi
:00419698 5E pop esi
:00419699 5B pop ebx
:0041969A 8BE5 mov esp, ebp
:0041969C 5D pop ebp
:0041969D C3 ret
* Referenced by a (U)nconditional or (C)onditional Jump
at Address:
|:00419484(C)
|
* Possible StringData Ref from Data Obj ->"REGISTERED" <=====ci
porta direttamente alla versione registrata del prog.
|
:0041948F 6894E94E00 push 004EE994
:00419494 8D85C8FDFFFF lea eax, dword ptr [ebp+FFFFFDC8]
:0041949A 50 push eax
:0041949B E820660C00 call 004DFAC0
:004194A0 83C408 add esp, 00000008
:004194A3 8D85D8FDFFFF lea eax, dword ptr [ebp+FFFFFDD8]
:004194A9 6810AB4F00 push 004FAB10
:004194AE 50 push eax
:004194AF E80C660C00 call 004DFAC0
.............
Dunque non ci resta altro da fare che andare a modificare quel jnz 0041966D e quel jne 0041968F, ora mentre però è più facile da cambiare quest'ultimo,si tratta infatti di cambiare quel 7509 con un 7409 in modo da farlo diventare un jz,per il primo le cose si fanno per così dire un pò più complicate,almeno per un newbies,od almeno per un newbies quale ero io,infatti come vediamo non ci sono solo due byte,ma ben 12 ovvero 0F|85|F8|01|00|00|, per vedere cosa si deve sostituire poi nell'editor esadecimale a questi bytes, devo usare il SIce.
Dunque ripartiamo facendo partire il prog, e andando nel box della registrazione, qui mettiamo il nostro bel numerino "22442244" e prima di premere OK, premiamo Ctrl+d in modo da far apparire il Sice,qui mettiamo un bpx (breakpoint on execution) su getwindowtexta, quindi premiamo F5 per uscire da SoftIce e premiamo Ok,a questo punto SIce popperà, e noi,premiamo F12 finchè non vediamo il nome Pixel3D nella riga verde in basso , cancelliamo tutti i bp con bc* e intanto ci andiamo a modificare quel salto da 7509 a 7409 scrivendo "a 015F:00419484 " ma 015F solo nel mio caso eh!, per voi sarà diverso,e scriviamo jz 0041968F, ora andiamo a modificare l'altro salto, dunque scriviamo "a 015F:0041946F" e scriviamo jz 0041966D, e vediamo che apparirà al posto di 0F85 ,751E, e che sotto tale jump verranno a scriversi un altro nugolo di funzioni, bene, queste vanno tutte noppate fino a quella all'indirizzo 00419475 esclusa, e per nopparle si deve ovviamente scrivere "a l'indirizzo" e nop. Alla fine i nop saranno 4, come vedremo,uscendo dal SIce, il programma si riterrà registrato e tutte le funzioni della versione registrata sarannoa nostra portata di mano.
Poichè però le modifiche fatte con il SIce, così come per gli altri debugger,valgono solo per una volta, per rendere permanenti le nostre modifiche dovremmo andarle a mettere nell'editor esadecimale.Dunque più "professionalmente " potremmo trovare le parti da modificare facendo nell'editor, Goto e scrivendo l'offset che ci siamo segnati mentre eravamo nel WDasm e che ci appariva,quando eravamo sulla stgringa che ci interessava in basso a destra; oppure potremmo cercare usando Find Text e cercando per esempio "0F85F8010000". Una volta trovata tale sequenza non ci resta che sostituirla con 751E90909090, poco più in là poi vediamo un familiare 7509, e quello lo cambiamo com 7409. Salviamo ed ecco fatto,abbiamo un programma che si registra con qualsiasi seriale,tranne che con quello giusto, e che ci da tutte le funzioni della versione registrata.
Un altro modo di crakkarlo, poteva essere il non far scadere mai il tempo per il nostro programma completo, ma delle due strade ho scelto quella che vi ho mostrato sopra,chissà,magari un'altra volta mi ci metto e provo quella strada.
Ciauzzzz e alla prossima (se mai ci sarà ('azz tocchiamoci!!))
Pincopall
P.s. Vorrei chiudere con una frase di +ORC, che non ho messo su perkè non mi ci stava:
"If you give a man a crack he'll be hungry again tomorrow, but if you teach him how to crack, he'll never be hungry again." +ORC
|
Spero di essere stato chiaro, comunque se ci sono dei problemi la mia e-mail la conoscete. Devo dire che mi si potrebbe imputare di essere stato troppo lungo nella parte sul SoftIce,ma se lo ho fatto è perchè quando ero totally newbie ,speravo di trovare un tutorial fatto bene come questo ,'azz come sono modesto,no no a parte gli scherzi,mi sono dilungato per rendere più chiari possibile i concetti che ho esposto a tutti quelli che li leggeranno ai quali,come succedeva a me, potrebbero sorgere delle domande.
Per concludere vorrei ringraziare tutti coloro dai quali ho appreso,apprendo ed apprenderò sempre di più in questi campi,quindi tutti i componenti della UIC tra i quali Quequero,TiN_MaN, [Alt_255],Phobos,_Golem_,cod,AndreaGeddon,e tutti insomma.
Altro ringraziamento va a Nio e Bebos per il supporto morale che non mi hanno dato e che quindi mi ha dato un ulteriore spinta.
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 |