MasterDrive.it   
Vai indietro   MasterDrive.it > Software Development > C/C++



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 10-03-2010, 20:38   #1 (permalink)
Nuovo della community

 
38 Messaggi

Rhapsody novizio della comunita' ( + 10 )
Codice non compreso

Salve a tutti, potreste commentartmi questo sorgente? E' per capire come funziona. PLAYERPOINTER è un valore indicativo, lasciatelo stare.

1:
codice:
DWORD *variabile= (DWORD*)0xPLAYERPOINTER;
2:
codice:
DWORD *stam= (DWORD*)0xPLAYERPOINTER;
DWORD *stam2= ( DWORD* )((*stam) + 0xOFFSET);
*(float*)stam2 = (float)100;
3: (soprattutto questo, so che è la cosa fondamentale, infatti ho bisogno di capirla)
codice:
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
{
    if(dwReason == DLL_PROCESS_ATTACH)
    {
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
    }
    return TRUE;
}
Grazie e scusate il disturbo.

Rhapsody non è in linea   Bookmark and Share Rispondi quotando
Vecchio 10-03-2010, 21:21   #2 (permalink)
Moderatore Globale

 L'avatar di AntonioGiuliana

 
6,720 Messaggi

AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )AntonioGiuliana e' un tipo da prendere in considerazione ( + 650 )
Quote:
Originariamente inviata da Rhapsody Visualizza il messaggio
Salve a tutti, potreste commentartmi questo sorgente?
In realtà la richiesta non è del tutto ortodossa ... ci si dovrebbe concentrare su un preciso problema, non sul "commento" indiscriminato di codice sorgente ...

In via eccezionale ...


Quote:
DWORD *variabile= (DWORD*)0xPLAYERPOINTER;
Assegna a "variabile", che è un puntatore a DWORD, un preciso valore.

Quote:
DWORD *stam= (DWORD*)0xPLAYERPOINTER;
Fa la stessa cosa di prima con la variabile "stam"

Quote:
DWORD *stam2= ( DWORD* )((*stam) + 0xOFFSET);
Ottiene un altro puntatore (in "stam2") a partire dal valore puntato dal primo + un valore costante (OFFSET)

Quote:
*(float*)stam2 = (float)100;
Scrive in memoria il valore "100" (in virgola mobile) all'indirizzo ottenuto dal punto precedente.

Quote:
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0);
}
return TRUE;
}
E' la funzione Main di una dll che, appena caricata in memoria, crea un nuovo thread che viene avviato subito eseguendo il codice della funzione "HackThread" ...

Quote:
Grazie e scusate il disturbo.
Prego ... e dato il nome della funzione HackThread, sarebbe il caso che la discussione terminasse qui ...

(anche in considerazione di questo thread Modificare la memoria di un programma chiuso in precedenza)
__________________
Antonio GIULIANA
AntonioGiuliana non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum


Tutti gli orari sono GMT +2. Attualmente sono le 09:49.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.