Ciao!
Sto cercando di analizzare tutta la memoria RAM utilizzata da un mio processo per trovare un elemento specifico.
Ho definito
codice:
char* data = "stringa";
la funzione FindDataAddress("stringa") legge uno ad uno i byte nel processo fino a raggiungere quello in cui inizia "stringa", e quindi ne ritorna l'indirizzo. Lo stesso identico valore si otterrebbe
con
codice:
&data[0]
o semplicemente con
codice:
data
.
Sto creando quella funzione perchè potrei aver bisogno di reperire l'indirizzo di certe variabili senza poterci accedere direttamente (ad esempio ho un exe che stampa a schermo la scritta "ciao" e, tramite dll injecting, vorrei modificare quel valore).

Il punto è che non so come passare in rassegna tutta la ram se il mio ciclo while
si blocca ogni volta che riscontra un errore di tipo accesso negato per indirizzo errato (come quando si tenta di leggere da una NULL).

codice:
char* puntatore = 1;
while( <puntatore non indica "stringa" >) puntatore ++;
//ora puntatore dovrebbe avere lo stesso valore di data.
Come posso saltare l'errore e continuare col mio ciclo while? (puntatore ++)