Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: rgff en 11 Mayo 2012, 01:03 am



Título: obtener datos de un juego DLL
Publicado por: rgff en 11 Mayo 2012, 01:03 am
Hola, buenas noches, bueno, tengo el siguiente problema: obtener valores en tiempo real de un juego (simulador) para poder enviarlos a un micro controlador, estuve buscando y sinceramente lo poco que encontré hace referencia a "MMF" (Memory-Mapped-File, archivo proyectado en memoria, según wiki) y/o llamar a las funciones que manejan dichos valores generando una DLL que obtenga los datos de otra (según entendí, vendría a ser inyección DLL) en fin, usé el api monitor (programa que me muestra todas las dll usadas por el juego), leí los tutoriales que hay en el foro respecto a inyección DLL, pero no comprendo como debo emplear/utilizarlas para obtener los datos del juego, ya que los datos que necesito no son ingresados por el usuario sino que son generados por los metodos de alguna clase propia del juego ( necesito obtener los valores de aceleración, temperatura, etc, de un simulador de carreras ), no soy de solicitar que me guíen, pero la verdad no doy pie con bola XD. desde ya, muchas gracias a los que puedan aportarme un poco de "iluminación" XD.


Título: Re: obtener datos de un juego DLL
Publicado por: Belial & Grimoire en 11 Mayo 2012, 04:37 am
podrias cargar la dll con LoadLibrary

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175%28v=vs.85%29.aspx

despues utilizar alguna funcion que contenga la dll en la zona DLL_PROCESS_ATTACH

haz algun ejemplo sencillo para que vayas entendiendo

yo hice inyeciones el problema viene con usar CreateRemoteThread porque es detectado por los antivirus y tambien lo e utilizado para invocar alguna api de alguna dll por ejemplo kernel32.dll

espero esto te ayude un poco

salu2


Título: Re: obtener datos de un juego DLL
Publicado por: david_BS en 12 Mayo 2012, 02:30 am
si tenés que inyectar una DLL en el proceso de ese juego y en base a eso buscar en la memoria del juego la información que necesités. por ejemplo, podés interceptar funciones del juego o funciones externas que el juego utiliza normalmente.

ahora que si lo que necesitás es en sí,  solamente leer información del juego mejor busca acerca de la api llamada ReadProcessMemory (http://msdn.microsoft.com/en-us/library/windows/desktop/ms680553(v=vs.85).aspx)