Soluzione Alternativa - Lo Patchamo il Programma?


14/08/2000

by "Cousin_IT "

 
 

UIC's Home Page

Published by Quequero


Qualche mio eventuale commento sul tutorial :)))

Qualche MIO eventuale commento sui tuoi eventuali commenti!!!

Miiiii qua ci prendiamo troppa libertà....Miii alla prossima volano le braccine :) beh, cmq hai scritto il nick con un font a dimensione 912000 mi occupava tutto lo schermo, a parte questo il tute è davvero semplicissimo e serve proprio per chi si trova alle primissime armi :)

 
UIC's form
E-mail:    cousin:it@Freemail.it
IRC chan:   #crack-it 
ICQ Number:   #35538038
UIC's form

Difficoltà

(X) Super NewBies( ) NewBies ( )Intermedio ( )Avanzato ( )Master

 

Soluzione al 5° corso newbies
Proviamo A Patcharlo!!!
Written by Cousin_IT

Introduzione

Bè... non cè niente da aggiungere a quello che c'era già scritto!!! vediamo se sotto un'altro punto di vista si può arrivare ad una seconda soluzioone

Tools usati

-  SoftIce
-WinDASM 8.93
-HexWorkShop 3.0

URL o FTP del programma

www.uic-spippolatori.com

Notizie sul programma 

E' un semplice crackme con la richiesta di un nome e un seriale. Il seriale è generato da un semplice algoritmo che per il momento non ci interessa, se volete il seriale

Essay

Bene Un complimeto ad AndreaGeddon, per il suo tutorial del serial Fishing di questo programma (Complimenti molto esplicito e comprensibile)... ve lo consiglio la lettura, si possono capire le funzioni Xor, e in più come il seriale viene nascosto abbastanza bene per gli occhi di un NewBies.Per cominciare lanciamo subito WinDasm... hummm, bene... il prg si disassebla istantaneamente ed eccoci dentro, apriamo le String Reference ottimo, la cosa che ci consola maggiormente è che non è scritto in Visual Basic. Ora molti di voi penseranno di andare nel punto in cui appare il messaggio di errore... ! Esatto bene bravi complimenti, ok "Serial Erraro. Lavora Ancora".ed ora faccioamo un "Back Trace", Forse molti di voi non sanno l'esatto significato di questa orrenda parola che tradotto in Italiano significa "Tracciare all'indietro", quindi con i cursori della tastiera torniamo indientro leggermente nel programma, la prima cosa che ci salta in occhio e subito "Leim :-)", questo termine è utilizzato molto spesso da xOANNINO, ma vedo che ha preso molto piede, il suo significato e di un gradino più sottostante del Lamer. bene, ma non preoccupatevi è soltanto la Caption della message box il qualce ci informava di lavorare ancora.Retrocedendo ancora arriviamo a questo punto:
40185D jne 401893 (Salto condizionato se il serial Risulta esatto) bè non esultate non è ancora finito eseguimao il Jmp condizionale ed arriviamo in questo punto

401893 mov esi, dword prt [ebp-64]
401896 cmp bl,DD
401899 jne 4018CE (Un bel Jmp condizonato, potrebbe essere quello giusto?? bè Vediamo prima sotto cosa succede!!)
40189B push 00000040
40189D push 004030A0 (Mette in memoria la stringa "Leim Ignorante <:-)" e tutto ciò non ci piace vero?)
4018A2 push 0040307C ( Bè sapete cosa mette in memoria) - (è velo è velo è proprio un Cazz.... hem Gatto)
4018A7 mov ecx,esi (Porta il contenuto di esi in ecx, che viene salvato in ecx)
4018A9 call 401B40 (Chiamata ad errore)

Bene quindi non essendoci altri Jmp nei dintorni precedente era quello esatto andiamo dentro dai su forza che ormai ci siamo, 3...2...1... Jne4018CE

eps, si intavedono i messaggi di complimenti che bello ce l'abbiamo fatto!!! spetta!! azz... non l'avevo notato prima quello che cosè??, ragazzi voi le vedete quelle due funzioni, ma vuoi vedere che non è finita???

4018CE cmp bl,FF (Confronta bl con FF perchè mai dovrebbe farlo?)
4018D1 je 401908 (Esegue il salto se bl è uguale ad FF... ma BL è Uguale ad FF e noi non vogliamo che salti vero?)

Bene ecco fatto ce l'abbiamo fatta, ci siamo registrati URRA!!!, Allora dobbiamo modificare questi Jmp quindi apriamoci HexWorkshop o un qualsiasi edito esadecimale

40185D jne 401893 con un JE oppure con un salto incondizionale, sapete quele JMP
401899 jne 4018CE con un JE oppure con un salto incondizionale il JMP
4018D1 je 401908 con un JNE oppure con cosa???, ci ha detto con un JMP bocciato, si sotituice con due NOP

Bè spero che lo sappiate fare... almeno !!!
cmq a me non piace e a voi??? avete visto quanti Jmp siamo andati a modificare azz... Come accennato da AndreaGeddon nel Tutorial servirebbe più di un solo Jmp per potersi registrare, qundi ne abbiamo usati solo 3 che bello.

Ricordatevi una cosa, il Reversing va considerato come un'arte, quindi se possiamo tirare via le NagScreen come se nulla fosse allora nessuno ci potrebbe impedire di levare completamente la generazione del Serial... nvece di Bypassare solamente il Ceck del serial.
Ora è il momento di Utilizzare SoftICE per gli amici Sice! Inseriamo un nome Casuale, e un codice casuale e poi CTRL+D ecco che appare la finestra del sice, attiviamoil BreackPoint su bpx GetdlgItemTextA invio e poi F5, clicckiamo su Ceck ed ecco che il Sice Poppa, premiamo Nuavamente F5, e poi F12 per due volte consecutive (leggete il Tutorial di questo programma di AndreaGeddon per conoscerne il motivo di questi F5 F12 ecc... Hehehe Ti faccio anche pubblicità)

4017D5 xor esi,esi (Azzera il registro esi)
4017D7 xor edi,edi (
azzera Ovviamente edi)
4017D9 mov al,byte ptr [ebp+esi-88] (
mette in al il primo carattere del nome... qui comincia la generazione del codice, a dir la verità dai due Xor Precedenti)
4017e0 cmp al.00 (
Confronta che al non sia zero in al cera il primo carattere del nome)
4017e2 je 4018a4 (
Se al era zero significa che il nome per il calcolo del codice è finito e quindi salta) Allora saltiamo direttamentema chi ci fa fare il codice
andiamo a sostituire questa jmp e mettiamo la nostra destinazione, ovverodove il serial è esatto quinti posizionatevi sull jmp scrivete " a eip " dopodichè scrivete
jmp 401857 e remete 2 volte consecutive il tasto invio andate a leggere come viene modificato quato jmp e lo riscriverete poi sull'hex editor....
bene quindi eccoci registrati.... con semplicemente un Jmp WOW I LOVE REVERSING ENGINEERING

 

!! ATTENZIONE !!

Questo è semplicemente un Tutorial, ricordate quindi che nella realtà quando vi registrerete il programma creerà o scriverà il codice da qualche parte in un registro nascosto e ogni volta avviato ci sarà un controllo per cui un semplice jmp non basterebbe veramente, alcune volte ci sono anche 4-5 controlli, e molto spesso nei programmi complicati vi portano dentro a delle DLL... quindi molti Shareware li potete modificare con un solo Jmp o pochi Jmp... ma altri programmi invece no!!!

Disclaimer

Queste informazioni sono solo a scopo puramente didattico. se proprio non riuscite a trovargli il serial valido oppure a patcharlo, Vi ricordo che con la modica cifra di 15.000 potete acquistare il software. Lo troverete spesso sul canale #Crack-it di IRCnet e chiedete di AndreaGeddon, per le modalità di pagamento vi metterete daccordo :)

Un saluto particolare a Quequero, AndreaGeddon, cod e tutti quelli di UIC


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