Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: Seyro97 en 9 Julio 2015, 19:16 pm



Título: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: Seyro97 en 9 Julio 2015, 19:16 pm
Hola, muy buenas.

La duda viene de que supuestamente un programa no puede acceder a la memoria RAM que no use el programa en sí (por el tema del procesador con modo de protección). Partiendo de aquí, como hace Cheat Engine para poder visualizar e incluso cambiar los valores de cualquier parte de la memoria RAM?

Gracias


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: engel lex en 9 Julio 2015, 19:20 pm
el programa directamente no puede acceder... sin embargo por las API del sistema operativo si se puede, ya que esto es necesario para algunas aplicaciones y para el sistema operativo en si mismo...

aquí una de las API involucradas

https://msdn.microsoft.com/en-us/library/windows/desktop/ms680553(v=vs.85).aspx (https://msdn.microsoft.com/en-us/library/windows/desktop/ms680553(v=vs.85).aspx)


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: Seyro97 en 9 Julio 2015, 19:22 pm
¿En serio Windows es quien lo permite? Había oido que era inseguro en algunos sentidos, pero hasta este punto... No creo que sea así en Linux, ¿o si?


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: engel lex en 9 Julio 2015, 19:26 pm
linux si lo permite (con fork si no me equivoco)... no es unicamente inseguro, es necesario para aplicaciones XD solo que necesitas privilegios de acuerdo al programa accesado


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: Seyro97 en 9 Julio 2015, 19:30 pm
¿Pero para que puede ser necesario? ¿Uno podría sabiendo ensamblador modificar el código de un programa cargado en la RAM? No estoy seguro de esto porque aun estoy en los inicios de aprendizaje de ensamblador


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: MCKSys Argentina en 9 Julio 2015, 21:02 pm
¿Uno podría sabiendo ensamblador modificar el código de un programa cargado en la RAM?

Claro. Incluso, no hace falta reemplazar todo el programa: basta con allocar mem en el proceso, escribirle nuestro código y agregarle un thread que lo ejecute.
Siempre y cuando tengas los permisos, no?

Saludos!


Título: Re: (Consulta) ¿Cómo hace Cheat Engine para acceder a toda la memoria RAM?
Publicado por: Seyro97 en 10 Julio 2015, 03:01 am
Vale, gracias!