2009-05-11 9 views
10

¿Cómo funciona este program accediendo a otros procesos de memoria? ¿Cómo puede escribir en el espacio de direcciones de otro proceso? ¿No se suponía que fallara o algo por el estilo?¿Cómo funciona Cheat O'Matic?

+0

No puedo hacer que esto funcione, todos los resultados de búsqueda devuelven vacío ... –

+0

No funciona en algunos programas por algún motivo desconocido. Pruebe con la calculadora de Windows ... –

Respuesta

15

Un programa con un nivel de privilegio del sistema es capaz de asignar direcciones físicas a su propia dirección virtual.

Cheat O'Matic (y poke) mapea la dirección física de cualquier programa que intente escanear en su propio espacio virtual.

Una vez hecho esto, escanea todos los bytes para el valor objetivo que ingrese. Aísla la dirección correcta de la memoria pidiéndole al usuario que altere la dirección a valores conocidos y básicamente hace una diferencia entre la memoria vieja y la nueva para encontrar los cambios.

+8

En Windows, las funciones VirtualAllocEx y VirtualQueryEx le permiten leer y escribir en la memoria de otro proceso. – morechilli

+0

@morechilli: si pones eso en una respuesta, lo aceptaré. –

1

Una forma de hacerlo es inyectar una DLL (Google para 'Inyección Dll') en el proceso de dirección que desea espiar: esa DLL está dentro del proceso y puede hacer cosas con la memoria del proceso. El proceso de espionaje puede usar un método de comunicación entre procesos (tuberías, conectores, cualquier cosa) para hablar con la DLL que se inyectó en el otro proceso.

Inyectar una DLL requiere privilegios de administrador (por ejemplo, establecer una entrada relevante en el registro del sistema).