Acceder a zona de memoria de otros procesos

Alberto
24 de Agosto del 2005
Hola

¿ Alguien sabe cómo es posible acceder a las posiciones de memoria de otros procesos ? ¿ Si se crea el proceso desde nuestro propio programa, es posible acceder a su zona de memoria ?

Agradecería mucho si alguien me pudise orientar.

Un saludo

Alberto
24 de Agosto del 2005
he probado con el siguiente código, pero me da error la función ReadProcessMemory:


// - Prueba de lectura de memoria ---------------------
STARTUPINFO si;
PROCESS_INFORMATION pi;

memset ( &si, 0, sizeof ( si ) ) ;
si.cb = sizeof (si);

if ( ! CreateProcess( "c:\calc.exe", 0, 0, 0, 0, CREATE_NEW_CONSOLE, 0, 0, &si, &pi ) )
{
MessageBox ( "Error en "CreateProcess"" ) ;
}

unsigned long buf = 0 ;
unsigned long addr = 0x00000000 ;

DWORD dummy;

if ( ! ReadProcessMemory( pi.hProcess, (void*) addr, (void*) &buf, 4, &dummy) )
{
MessageBox ( "Error en "ReadProcessMemory"" ) ;
}


El proceso lo crea perfectamente, pero la función ReadProcessMemoy devuelve FALSE. ¿ Alguien sabe cual es el problema ? Espero que podais ayudarme.

Un saludo.