Ciao!
Sto cercando di analizzare tutta la memoria RAM utilizzata da un mio processo per trovare un elemento specifico.
Ho definito
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 otterrebbecodice:char* data = "stringa";
cono semplicemente concodice:&data[0].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).
Come posso saltare l'errore e continuare col mio ciclo while? (puntatore ++)codice:char* puntatore = 1; while( <puntatore non indica "stringa" >) puntatore ++; //ora puntatore dovrebbe avere lo stesso valore di data.