Pregunta

en Windows, digamos que he utilizado DLL inyección para entrar en otro proceso. También he hecho algunas capturas en de la memoria en el proceso que he inyectado en y conocer la ubicación de los datos que desea sacar. Digamos que hay datos en el otro proceso en 0xAAAAAAAA que contiene un cierto valor. ¿Cómo puedo agarrar este valor de ese proceso para que pueda utilizarlo en mi aplicación de la inyección? Desde que estoy inyecta en el proceso, ¿puedo usar algo como establecimiento de memoria?

memcpy(value, 0xaaaaaaaa, 10);

Estoy asumiendo que es probablemente más complicado que esto?

EDIT:. Para las respuestas abajo, no veo cómo WM_COPYDATA me ayuda como lo es para el envío de datos a otra aplicación, no para recuperar datos de una aplicación existente

¿Fue útil?

Otros consejos

En Windows cada proceso tiene en cuenta su propia memoria. Esto significa que no puede hacer algo como memcpy tener dos punteros que apuntan a la memoria de dos procesos diferentes.

Se puede considerar cualquier opción de comunicación entre procesos: archivos de memoria asignada, tomas de corriente, canalizaciones con nombre, mensajes de ventana evento

.

Aquí hay más información acerca de IPC

Pruebe WM_COPYDATA y tomar la ayuda de MSDN perteneciente a la misma.

Los siguientes mecanismos IPC son compatibles con Windows:

Portapapeles
   COM
   Copiar datos
   DDE
   Archivo de asignación de
   mailslots
   tubos
   RPC
   Ventanas de sockets

Comunicaciones entre

en su caso me gustaría usar WM_COPYDATA mensaje

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top