Si pudiera ayudarme con este dilema que tengo. Ahora, sé C \ C++, sé asm, sé acerca de la inyección dll, sé sobre el direccionamiento de memoria virtual, pero simplemente no puedo entender cómo el software como CheatEngine y otros logran cambiar el valor de una variable en otro proceso.Cómo cambiar un valor en el espacio de memoria de otro proceso
Para aquellos que no lo sepan, las herramientas de terceros del motor trampa pueden escanear los valores en el espacio de memoria de un programa e identificar la ubicación de una variable con un valor determinado y modificarla.
Mi pregunta es, ¿cómo lo hacen?
Dada una dirección, si tuviera que escribir el código C, ¿cómo podría cambiar el valor en esa dirección perteneciente a otro proceso sin obtener un error de direccionamiento no válido?
Gracias.
Gracias esto es lo que estaba buscando, funciona muy bien. (Para otros que lean esta solución, asegúrese de usar DebugActiveProcessStop cuando termine) –
Asegúrese de llamar a DebugSetProcessKillOnExit() si no desea que el proceso que está depurando muera después de que termine de depurarlo. – mrduclaw