OllyDbg e Delphi - Parte II
From UIC
OllyDbg e Delphi Parte II
Contents |
| Infos | |
|---|---|
| Author: | DesTroYer |
| Email: | Kobra1505@libero.it |
| Website: | Home page |
| Date: | 14/10/2006 (dd/mm/yyyy) |
| Level: |
|
| Language: | Italian |
| Comments: | E' stato tradotto da un articolo di Coco |
Introduzione
Continuiamo il nostro percorso e vediamo come attaccare i programmi in DELPHI con OllyDbg. Nel tutorial precedente abbiamo visto come trovare la parte di codice che viene eseguita quando premiamo un bottone, vedemmo anche come mediante il nome del bottone o dei menù siamo arrivati al codice, ma come possiamo fare quando il bottone non è un bottone normale? o senza nome? o se è un'immagine?, bene in questo tutorial vedremo tutte queste cose che a prima vista sembrano più complicate di quello che realmente sono.
In questo tute utilizzeremo un altro Crackme: FIREWORX CRACKME10
Tools
Notizie sul programma
Ho scelto questo crackme per due ragioni: è "grafico" e le API, non pungono (almeno direttamente):
Essay
Eseguiamo il Crackme e vediamo che ha qualcosa di differente… non ha i classici bottoni…
Molto bello, ma fate bene attenzione al bottone OK, è una Immagine, se lo pressi non succede niente ( a prima vista) e non ci servono i BMSG (?), non ci sono , Stringhe con relativi messaggi di errore, e se fosse poco non funziona nessuna API. , direttamente, Mmmmm…
Che facciamo ora?, chiaro! (leggiamo il tutorial n. 1;) dobbiamo fare in modo che Olly brekka non appena pressiamo OK, come nel tutorial precedente cerchiamo: "nome del bottone+Click" ricordiamo che il botoncino diceva: "Registrare" e troviamo: "Registrar1click" ti starai domandando ora come faremo se è una Immagine e non ha nome?
Nella tutorial precedente spiegai che "per tutti gli elementi che si possano cliccare..." quindi non importa se è un'immagine o no.
Andiamo…Prima di tutto apriamo il Crackme con l'OllyDbg:
Olly c'informa che l'eseguibile è compresso, quello che dobbiamo fare è decomprimerlo. Per vedere come è compresso utilizziamo PEID8:
E’ compresso con: ASPACK 1.06x, pressando il bottone UNPACK Avremo l'archivio decompresso in alcuni secondi.
Effettivamente il Crackme passa di un volume originale di 202 KB a 448 KB.
Apriamo l'eseguibile decompresso in OllyDbg, ora non mostra nessun messaggio.
Vediamo:
pressiamo CTRL +B e cerchiamo l'evento "CLICK”
Olly ferma in vari Eventi, ricordare che il bottone che cerchiamo è un po' speciale poiché è un'immagine, continuiamo a pressare CTRL +L ( vediamo il successivo)
Nota: incominceremo a vedere le "FORMs" di DELPHI questo ci dice che stiamo su quello che c'interessa, TForm1)
Ci si ferma in:
RICORDARE: Portarsi su circa 2 o 3 linee sopra in questo caso fino a:
00453E4E /943E4500 DD CRACKME1.00453E94
premiamo ENTER, per seguire (FOLLOW) il comando, e cadiamo in:
00453E95 |. 8BEC MOV EBP,ESP
00453E97 |. 6A 00 PUSH 0
00453E99 |. 6A 00 PUSH 0
00453E9B |. 6A 00 PUSH 0
00453E9D |. 53 PUSH EBX
00453E9E |. 56 PUSH ESI
00453E9F |. 57 PUSH EDI
00453EA0 |. 8BF8 MOV EDI,EAX
00453EA2 |. 33C0 XOR EAX,EAX
Questo è il pezzo di codice che si esegue quando pressiamo OK nel Crackme, mettiamo un BP (F2) e ricominciamo tutto, CTRL +F2
Reinseriamo nuovamente i dati, nome e seriale, e pressiamo "OK” automáticamente Olly brekka.
Se tracciamo poche linee sotto vedremo il seriale valido.
Note Finali
BENE… spero che queste tecniche vi aiutino nel momento di affrontare grandi rivali. Hai "già l'informazione… ora usala…"
Co2_Cracker 7D2co2_cracker@hotmail.com
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 malevoli 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.




