As started here
I need to know how to read the start address and length (virtual memory map) of a process.
I would like to map a process memory. I would like to
Call repeatedly VirtualQueryEx, starting with address zero and increasing each time of the value obtained in the RegionSize
member of the MEMORY_BASIC_INFORMATION
structure you passed to it. To obtain a meaningful map obviously the process should be paused.
Still, even after you got this memory map, I'm not sure what you can do with it: unless you know (by other means) the internals of the process you are accessing all you get to know is locations where you can read or write without triggering an access violation, not the meaning of their content. You should really clarify what you are trying to achieve, Read/WriteProcessMemory usually aren't a solution for "normal" problems.