Oppure

Loading
31/05/10 21:39
xshell32
Buonasera a tutti.

Avrei bisogno di leggere il valore contenuto in una determinata cella della RAM. Penso di dover utilizzare i puntatori... ma come posso fare?

Ad esempio, se volessi leggere la cella 0x0004?

Grazie in anticipo.
aaa
31/05/10 21:50
nessuno
Partiamo dal concetto che in un sistema moderno (in cui la memoria è virtualizzata) non accedi affatto alla cella di RAM con quell'indirizzo, ma soltanto ad un byte dello spazio di indirizzamento del processo corrente (e probabilmente non è quello che ti aspetti che avvenga o non è quello che desideri).

Inoltre, se quell'indirizzo particolare non è mappato nello spazio di indirizzamento del processo corrente, avrai un read fault (classico messaggio di Windows ... non si poteva accedere in lettura ...) e il programma termina.

In pratica, il codice è

	unsigned char *loc = (unsigned char *)0x4;
	printf("Valore: %d\n", *loc);


ma non ti meravigliare se avrai un errore (come ti dicevo).

P.S. Se il tuo scopo è leggere/modificare un valore presente in un gioco mentre si sta eseguendo, allora la strada è un'altra ma, personalmente non intendo parlarne ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.