Warfans
Benvenuti!!!!! Warfans è il forum più completo che riguarda computer e giochi di qualsiasi tipo!!!! ! Che aspettate? Iscrivetevi ed entrerete nella nostra community

1- L'utente continuando la navigazione nel sito dichiara di aver letto attentamente il Regolamento.
2- Tutti i nuovi Utenti sono pregati di presentarsi nella sezione Presentazioni.
3- Lo Staff cerca: Moderatori, Coder, Graphic. Se vi interessa scrivete il Curriculum nella sezione Zona Reclutamento.
Warfans
Benvenuti!!!!! Warfans è il forum più completo che riguarda computer e giochi di qualsiasi tipo!!!! ! Che aspettate? Iscrivetevi ed entrerete nella nostra community

1- L'utente continuando la navigazione nel sito dichiara di aver letto attentamente il Regolamento.
2- Tutti i nuovi Utenti sono pregati di presentarsi nella sezione Presentazioni.
3- Lo Staff cerca: Moderatori, Coder, Graphic. Se vi interessa scrivete il Curriculum nella sezione Zona Reclutamento.
Warfans
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Warfans

La nuova frontiera dei videogiochi
 
IndiceHomeUltime immaginiRegistratiAccedi
E' obbligatorio presentarsi nella sezione "presentazioni" prima di formulare una richiesta!!!!

 

  Dll injection spiegazione

Andare in basso 
AutoreMessaggio
FARFIX

FARFIX


Numero di messaggi : 152
Età : 49

 Dll injection spiegazione  Empty
MessaggioTitolo: Dll injection spiegazione     Dll injection spiegazione  Icon_minitimeVen 22 Ott 2010, 19:14

Dll injection spiegazione
La dll injection, utillizzata da diversi malware, fa parte di un gruppo di tecniche più ampio chiamato code injection (iniezione di codice).

Principi generali di funzionamento
La dll injection si basa nel scrivere il codice che si vuole far eseguire a un altro processo in una libreria dinamica (dll su Microsoft Windows). Quindi si avvia un programma che carica questa dll nel processo esterno (ovviamente con privilegi superiori rispetto al nostro processo) e il sistema operativo vede il codice come se fosse eseguito dal processo esterno e non dal nostro processo

Principi approfonditi di funzionamento (con esempio pratico)
Analizziamo in dettaglio il funzionamento di un programma che inietta una dll in un altro processo. Un esempio renderà di più facile comprensione l'algoritmo
"hack.exe" deve fare eseguire il suo codice all'interno del processo "msnmsgr.exe". Per semplificare assumeremo che "hack.exe" conosca già il PID (process identifier, usato per identificare univocamente un processo in esecuzione nel sistema) di "msnmsgr.exe"

-Viene creata la dll "fnc.dll" e, all'interno della DllMain, viene inserito il codice da far eseguire ad "msnmsgr.exe".

-A questo punto "hack.exe" chiama OpenProcess() con il PID di "msnmsgr.exe" che permette appunto di creare un handle a un processo attivo.

-"hack.exe" chiama la funzione VirtualAllocEx() per allocare all'interno del processo "msnmsgr.exe" uno spazio di memoria

-"hack.exe" chiama la funzione WriteProcessMemory() per scrivere all'interno dello spazio di memoria appena allocata la stringa "func.dll\0"

-"hack.exe" chiama CreateRemoteThread() per creare un nuovo thread nel processo "msnmsgr.exe". Questo nuovo thread chiama la funzione LoadLibraryA() e per unico argomento un puntatore alla stringa allocata all'interno dello stack di "msnmsgr.exe" contenente il path alla nostra dll

-Windows crea il nuovo thread e chiama LoadLibraryA() nello "spazio del thread". LoadLibraryA viene chiamato nel nuovo thread quindi non può fare riferimento allo stack del nostro processo. Ecco perché abbiamo bisogno di allocare la stringa contenente il path alla dll nella memoria nel processo "vittima". A sua volta LoadLibraryA chiama la DllMain di "func.dll" contenente il codice da eseguire nello spazio di "msnmsgr.exe"
Torna in alto Andare in basso
 
Dll injection spiegazione
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» Spiegazione file .dll
»  Spiegazione file .dll

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Warfans :: FPS Games :: Operation7 :: Guide, Bugs & Tattiche-
Vai verso: