elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ¿Cómo actúan los programas como Cheat Engine?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo actúan los programas como Cheat Engine?  (Leído 3,074 veces)
mester

Desconectado Desconectado

Mensajes: 219


https://www.youtube.com/watch?v=IlY9C6pzxKc


Ver Perfil WWW
¿Cómo actúan los programas como Cheat Engine?
« en: 7 Junio 2015, 22:29 pm »

¿Qué es lo que hacen para editar los valores de un programa que esta en ejecucion?
¿Cuál sería el esquema que utilizan?


En línea

Justicia es dar a cada uno lo que se merece
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: ¿Cómo actúan los programas como Cheat Engine?
« Respuesta #1 en: 8 Junio 2015, 09:34 am »

Basicamente deberías conocer que es y como funciona un debugger o depurador, para ello también tendrías que conocer el uso de las apis y su estructura y parametros. Como algo fácil te diré que lo que hace es unirse a un proceso en ejecución (DebugActiveProcess),se obtiene la información del proceso con por ejemplo Process_information  y un vez hecho esto le hace trampa controlando los eventos con una función (WaitForDebugEvent) se implementa un manejador de eventos y se obtiene el estado de los registros, threads (etc) y una vez obtenidos la dirección de dichos eventos y registros se modifican en memoria (WriteMemory).
Esa es la versión super resumida de lo que hace.


En línea

Regexp

Desconectado Desconectado

Mensajes: 22



Ver Perfil
Re: ¿Cómo actúan los programas como Cheat Engine?
« Respuesta #2 en: 12 Junio 2015, 20:45 pm »

Hace un tiempo estuve investigando por el tema. La api de windows ofrece diversas opciones para sobrescribir la memoria de otros programas. Hay ejemplos de ésto por internet también, al final de la respuesta dejaré algunos enlaces. Debes tener cuidado con éstos menesteres en caso que decidas utilizarlos.

Algunas funciontes: DebugActiveProcess(), ReadProcessMemory(), WriteProcessMemory(). En las páginas de microsoft hay información detallada acerca de esto.

Tres formas de inyectar tu código en otro proceso
http://www.codeproject.com/Articles/4610/Three-Ways-to-Inject-Your-Code-into-Another-Proces

Acá una excelente respuesta de una pregunta relacionada con la tuya en StackOverflow
http://stackoverflow.com/questions/6016156/accessing-memory-of-other-applications-c

Otros programas como WPE Pro http://foro.elhacker.net/ingenieria_inversa/tutorial_wpe_pro_captura_modifica_y_envia_paquetes_tcp_cheats_juegos-t405121.0.html también se utilizan con el fin que propones en el post. Respecto a ésto, quizá te interese http://libtins.github.io/

Saludos.
En línea

No todo el que deambula está perdido
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines