Se un processo A legge dalla propria memoria è un conto, se il processo A deve leggere dalla memoria di un processo B, è un'altra storia. Il codice non potrà essere lo stesso (non so cosa hai scritto in FindDataAddress ma potrebbe non essere corretto).Originariamente inviato da VisRoboris
Sto cercando di analizzare tutta la memoria RAM utilizzata da un mio processo per trovare un elemento specifico...
...Come posso saltare l'errore e continuare col mio ciclo while? (puntatore ++)
La memoria allocata ad un processo è "virtuale". Ovvero, non corrisponde effettivamente alla RAM ma è solo uno "spazio di indirizzamento" reso disponibile al processo dal sistema operativo. Quindi non puoi "passare in rassegna" tutta la RAM, semmai dovresti controllare tutto "lo spazio di indirizzamento".
Per capire se un indirizzo è associato ad un processo esistono le API
IsBadXxxPtr
ma per vari motivi queste possono essere non affidabili (vedi post http://blogs.msdn.com/b/oldnewthing/...27/773741.aspx).
Infine, come regola generale, sappi che questo fatto di volere modificare il codice o i dati di un processo altrui, non è ben visto ... in genere queste attività sono "border line" dal punto di vista della legalità ...

Rispondi quotando