• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 1 voto(i) - 5 media
  • 1
  • 2
  • 3
  • 4
  • 5
guida al reversing
#1
Premetto che questa guida è a scopo informativo e che il reversing su applicazioni che lo vietano, è punibile con la legge.

Requisiti:
Conoscenza dell'Assembly, e di un Debugger.

In questa guida useremo il Debugger di nome "OllyDBG" reperibile molto facilmente da internet

Prima di tutto abbiamo bisogno di un eseguibile su cui lavorare (questo era ovvio), quindi perchè non programmarlo noi?!
Facciamo un piccolo eseguibile in C:


#include
#include

main() {
char password[] = "12345"; // password = 12345
char letteretotali[40]; // imposta le lettere totali a 40 lettere

printf ("Type the password: "); // scrive
scanf ("%­s", letteretotali); // legge quello che viene scritto

if (!strcmp(letteretotali,password))
{
printf ("You have type the correct password. Grats!n"); // scrive
system("PAUSE");
}
else
{
printf ("You have type a incorrect password. no0b!n"); // scrive
system("PAUSE");
}

return 0; // esce
}


Ora compiliamo. Come possiamo notare se inseriamo una password diversa da "12345" otterremo il messaggio "You have type a incorrect password. no0b!", e noi vogliamo che appaglia il messaggio "You have type the correct password. Grats!" senza però sapere la password. Quindi dobbiamo fare in modo che il programma accetti qualunque tipo di password e che dica "You have type the correct password. Grats!".
OK, ora apriamo OllyDBG e facciamo un drag & drop del programma che vogliamo reversare nella finestra di OllyDBG. Adesso dobbiamo trovare il modo di sostituire l'istruzine che ci manda al messaggio "You have type a incorrect password. no0b!" inserendo una password sbagliata.
Quindi, nella finestra principale facciamo: Tasto Destro>Search for>All referenced text strings, che serve per cercare tutte le stringhe di testo che scrive il programma. Adesso facciamo doppio click sulla scritta "ASCII "You have type a incorrect password. no0b!" e nella finestra che si apre, leggendo a sinistra, selezionate la righa n° "00401300" e fate: Tasto Destro>Binary>Fill with NOPs, così da modificare quell'istruzione con l'istruzione NOP(un istruzione che non fa nulla). OK, ora fate Tasto Destro>Copy to executable>All modification poi fate Copy All(così da copiare tutte le modifiche all'eseguibile). Adesso salviamo con Tasto Destro>Save File e salvate con il nome che volete. Apriamo il programma e proviamo ad inserire una password che non sia 12345 e noterete che vi darà ugualmente il messaggio "You have type the correct password. Grats!". Congratulazioni avete reversato un programma!

NB: Non tutti i programmi sono così semplici da reversare, ma se ti piace l'arte del Reversing vai su questo sito: "crackmes.de" dove troverai tantissi programmi fatti apposta per essere reversati.
fonti :xthreme hacking
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Enciclopedia del Reversing Riddick 3 1,834 15-07-2011, 05:45 PM
Ultimo messaggio: Predator

Vai al forum:


Browsing: 1 Ospite(i)