Programmi criptati con olly

Data

by "Pnluck"

 

04/06/2004

UIC's Home Page

Published by Quequero



Grazie tante pnluck!

 

....

E-mail: pnluck@virgilio.it
Pnluck,#crack-it,#insidenet

....

Difficoltà

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

 


Newbie n°9
con Ollydbg "all-in-one" o quasi
Written by Pnluck

Introduzione

Reversiamo un programma criptato utilizando solo Ollydbg

Tools usati

Tools usati: Ollydbg

URL o FTP del programma

Tn9

Notizie sul programma

Un crackme critpato con un criptatore fatto interamente da AndreaGeddon

Essay

Apriamo il file con l'Ollydbg, e questo ci avverete che il programma ha un entrypoint fuori dal codice. Allora dobbiamo fare solo una cosa, attivare le opzioni SFX di Olly in questo modo:



Dopo ciò riaprimo il prg con l'Olly, e ci apparirà il seguente codice:



Ciò significa che stiamo vedendo il prg "decriptato" da Olly. In realtà Olly non ha fatto altro che eseguire il prg e fermarsi appena è arrivato al "Real entry point", cioè fa la funzione di un semplice "launcher". Ora che abbiamo fatto il più, lanciamo il prg ed esaminiamolo, leggiamo un po' quello che ci dice e premiamo "Register" che fa apparire subito la msg di errore. Chiudiamo e riapriamo il file. Ora possiamo fare due cose mettere un "bp MessageBoxA" ,oppure premiamo il pulsante destro "Search for" -> "All referenced text string".
Nel primo caso apriamo il plug-in del command line e digitiamo "bp Messagebox", lanciamo il prg e clikaimo su "Register", ora Olly riprende il controllo del programma, e notiamo sibbito che ci troviamo fuori dal programma e quindi ci dobbiamo tornare per fare ciò nella finestra "Degub" ed clikiamo su "Execute till user code", in questo modo torneremo nel codice del programma esattamente ad "0040151A RETN" ora saliamo un po' e notiamo il messaggio di errore, salendo ancora un po' notiamo un jmp ed un cmp

00401500 CMP DWORD PTR DS:[403020],1 /compara 403020(=1) con 1
00401507 JNZ SHORT Nono.0040151B /se è diverso salta

Quindi far apparire la finestra con il complimento dobbiamo cambiare quel "1" nel CMP con "0". Però prima dobbiamo provare andiamo sulla riga del CMP e clikiamo con il destro, poi "assemble" e cambiamo "1" con "0" premiamo Ok e poi lanciamo il programma e ci appare il messaggio con il complimento ma qui leggiamo che dobbiamo modificare il prg affinché superiamo il corso, niente di più facile riapriamo il file andiamo su 401500, cambiamo quel "1" con "0", poi destro "Copy to executable"-> "Selection". Qui ci appare un'altra finestra nella quale riclikiamo con il destro "Backup"-> "Save data to file" e salviamo il prg con un nome diverso, ora apriamo il prg clikiamo su register ed abbiamo passato questo livello
Nel secondo caso premiamo il pulsante destro "Search for" -> "All referenced text string" e troviamo la stringa di errore con destro e "Search for text" e cercare la scritta che ci è uscita, ma in questo caso il testo ci appare sotto il naso, quindi clikiamoci sopra e ci troviamo a "00401510 PUSH Nono.00403074" , ora dobbiamo solo seguire le istruzioni ke vi ho dato da 401500 :)
                                                                                                                 Pnluck

Note finali

Grazie ai ragazzi della uic e di insident, ma uno spial thx a Quake ke a furia di domande gli ho rotto le palle,ad Andre che è sempre presente in Irc, ad "ironspek" x i suoi consigli "spekiali", Brnocrist,marella,Xtremer,FIgarò e tutti gli altri che mi hanno aiutato.
PS: thx anche a Q x aver creato la UIC

Disclaimer

Qui inserirete con questo carattere il vostro piccolo disclaimer, non è obbligatorio però è meglio per voi se c'è. Dovete scrivere qualcosa di simile a: vorrei ricordare che il software va comprato e  non rubato, dovete registrare il vostro prodotto dopo il periodo di valutazione. Non mi ritengo responsabile per eventuali danni causati al vostro computer determinati dall'uso improprio di questo tutorial. Questo documento è stato scritto per invogliare il consumatore a registrare legalmente i propri programmi, e non a fargli fare uso dei tantissimi file crack presenti in rete, infatti tale documento aiuta a comprendere lo sforzo immane che ogni singolo programmatore ha dovuto portare avanti per fornire ai rispettivi consumatori i migliori prodotti possibili.

Noi reversiamo al solo scopo informativo e di miglioramento del linguaggio Assembly.