Zoom Icon

Corso UIC Avanzato 01 ZiOFill

From UIC Archive

UIC Avanzato 01 ZiOFill

Contents


Corso UIC Avanzato 01 ZiOFill
Author: Zi0Fill
Email: Email
Website: Home page
Date: 01/09/1999 (dd/mm/yyyy)
Level: Working brain required
Language: Italian Flag Italian.gif
Comments:



Tools

SoftIce 3.x/4.x


Link e Riferimenti

Questo è il Corsi UIC Avanzati n°01 disponibile alla pagina Corsi per Studenti


Introduzione

Siccome Zi0Fill non mi ha consegnato il form allora vi dico che sono Quequero e che non so che scrivere tanto lo sapete a che serve 'sto tute :).

Sono sempre que, vabbè oggi Zi0Fill ci farà vedere come si cracka il programma della prima lezione della UIC


Notizie sul Programma

Azz allora questo programma è il primo esercizio della UIC e chiede solo un seriale, non si deve far altro che cambiare qualche jump...Hei Zi0, la prossima volta non te lo riempio il form :))))))


Essay

Salve a tutti. non so esattamente cosa dovrei scrivere in questo artikolo, quindi intanto spiego il metodo ke ho utilizzato per sproteggere l' uno:

I) Primo approccio al programma

apro uno.exe, inserisco nel primo campo "Zi0FiLL", nel secondo "213213124" e clikko 0k.... MsgBox Serial Errato, ritanta!!!, vbCritical, Erroreeeeeeeee!!!! doh....


II) Lo Zi0 studia una possibile metodologia d'attacco

mmmmm.....


III) Let'$ G0....

^D ed il fedele Sice poppa sullo schermo, ( blokkando per altro winamp), metto un bp su Getwindowtexta , F5, e riclikko "Register", Sice ripoppa brutalmente sullo skermo (blokkando winamp ke nel frattempo avevo riaperto)

"g00d" penso fra me e me, "tutto come le altre volte" ,anke se ora non ho un tutorial nel task a dirmi cosa devo fare..

F11, per uscire dalla dalla chiamata e subito vedo scritto UNO!CODE comincio a sbirciare nel codice in cerka di cmp o test seguiti da qualke tipo di jump.... ma qua ce ne sono un casino! ke kazzo è sta roba? aaarrggh...

Cerko di mantenere la calma ed osservo quel blokko di cmp e jnz.... ma guarda un po'....tutti i jnz vanno a 0040132A tranne il primo della serie ke tra l'altro è attivato ( JUMP ) e ke mi spara oltre la fine del blocco dei: cmp ECX, 03 jnz 0040132A visualizzando quindi ( almeno credo ) il messaggio d'errore....

0ra, sarebbe interessante sapere anke cosa c'è all'indirizzo 0040132A ma non la trovo (e datemi del coglione), infatti ho disabilitato il primo jump ( r fl z ) ed ho provato a seguirne uno con l'F10, il Sice segnala jump attivo (indicando verso il basso, come la logica suggerirebbe) ma in realtà jumpa verso l'alto all'indirizzo 0040122A.... PErke? (Quequero, help me)....

In ogni caso, misteri a parte, anke kosì la protezione ha una logica... infatti il primo jnz controlla se il codice da noi inserito è esatto, e ,a seconda se è giusto o no, ci fa proseguire nel blokko di jnz ( che ricontrollano il serial ) o ci senda oltre, facendo comparire il messaggio d'errore. ( P.S. se uno dei jnz della serie scopre ke la pass è sbagliata ci fa ricominciare da capo, jnz 00401311 incluso). be', ora ke la protezione è stata più o meno capita il + ( si ) è fatto non rimane altro da fare ke cerkare l'indirizzo in cui salta se il serial è corretto .... e dove andare a cerkare se non alla fine del "blocco"?

seguite il primo jump (JNZ 00401311) con F10, e vi ritroverete su un MOV nonmi, ricordocosa e sopra di voi ci sarà: 0040130F JZ 00401338 cioè l'ultimo jump del blokko ke registra il prog MITIKO... a questo punto basta sostituire: JNZ 00401311 (primissimo check) con JMP 00401338 JNZ 00401338 //(volendo modifikare il meno possibile) indirizzo in cui compare il messaggio di conferma ....e il program verrà registrato.

P.S. nel secondo caso, se inseriamo il serial esatto verrà visualizzato il messaggio di errore....

P.S.S.Naturalmente, al riavvio, l'applicazione tornerà come prima, a meno ke non usiamo l'HexWorkShop (che devo ancora capire....) andando a modificare permanentemente l'indirizzo del primo jnz.

Zi0FiLL


Disclaimer

I documenti qui pubblicati sono da considerarsi pubblici e liberamente distribuibili, a patto che se ne citi la fonte di provenienza. Tutti i documenti presenti su queste pagine sono stati scritti esclusivamente a scopo di ricerca, nessuna di queste analisi è stata fatta per fini commerciali, o dietro alcun tipo di compenso. I documenti pubblicati presentano delle analisi puramente teoriche della struttura di un programma, in nessun caso il software è stato realmente disassemblato o modificato; ogni corrispondenza presente tra i documenti pubblicati e le istruzioni del software oggetto dell'analisi, è da ritenersi puramente casuale. Tutti i documenti vengono inviati in forma anonima ed automaticamente pubblicati, i diritti di tali opere appartengono esclusivamente al firmatario del documento (se presente), in nessun caso il gestore di questo sito, o del server su cui risiede, può essere ritenuto responsabile dei contenuti qui presenti, oltretutto il gestore del sito non è in grado di risalire all'identità del mittente dei documenti. Tutti i documenti ed i file di questo sito non presentano alcun tipo di garanzia, pertanto ne è sconsigliata a tutti la lettura o l'esecuzione, lo staff non si assume alcuna responsabilità per quanto riguarda l'uso improprio di tali documenti e/o file, è doveroso aggiungere che ogni riferimento a fatti cose o persone è da considerarsi PURAMENTE casuale. Tutti coloro che potrebbero ritenersi moralmente offesi dai contenuti di queste pagine, sono tenuti ad uscire immediatamente da questo sito.

Vogliamo inoltre ricordare che il Reverse Engineering è uno strumento tecnologico di grande potenza ed importanza, senza di esso non sarebbe possibile creare antivirus, scoprire funzioni malevole e non dichiarate all'interno di un programma di pubblico utilizzo. Non sarebbe possibile scoprire, in assenza di un sistema sicuro per il controllo dell'integrità, se il "tal" programma è realmente quello che l'utente ha scelto di installare ed eseguire, né sarebbe possibile continuare lo sviluppo di quei programmi (o l'utilizzo di quelle periferiche) ritenuti obsoleti e non più supportati dalle fonti ufficiali.