Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Zequez en 28 Enero 2010, 01:47 am



Título: Como encontrar los punteros de valores de un juego?
Publicado por: Zequez en 28 Enero 2010, 01:47 am
A ver si alguien me puede aclarar algo...

Usando cheat engine y OllyDbg logré encontrar los valores de, por ejemplo, la vida de un personaje en un juego. El problema es que ese valor, cada vez que el programa es reiniciado, cambia...

Entonces seguí el flujo del programa con Olly para ver en que lugar de la memoria estaba almacenada la dirección del valor de la vida del personaje. El problema es que esa dirección también cambia xD.

Entonces, está bien lo que estoy haciendo? Es decir, debería seguir esos valores hasta encontrar una dirección que sea estática?


Título: Re: Como encontrar los punteros de valores de un juego?
Publicado por: Amerikano|Cls en 28 Enero 2010, 01:55 am
Es que practicamente cuando se hace uso de apis de alocacion de memoria esta es variable. Puede que el juego haga uso de estas y te suceda esto. Por esta razon una solucion seria mirar cuando hace uso de estas apis ejm: VirtualAlloc y pillarse donde ha quedado alocada, de hay te desplazarias al offset donde se encontrarian los bytes que deseas cambiar.

Salu2


Título: Re: Como encontrar los punteros de valores de un juego?
Publicado por: tincopasan en 2 Febrero 2010, 19:11 pm
probaste buscando los pointers en el cheat engine? a veces hay pointers sobre pointers, pero el ultimo siempre tiene la dirección en color verde, ademas con el olly podes directamente parchar el exe y chau problema


Título: Re: Como encontrar los punteros de valores de un juego?
Publicado por: Zequez en 14 Febrero 2010, 21:19 pm
Es que practicamente cuando se hace uso de apis de alocacion de memoria esta es variable. Puede que el juego haga uso de estas y te suceda esto. Por esta razon una solucion seria mirar cuando hace uso de estas apis ejm: VirtualAlloc y pillarse donde ha quedado alocada, de hay te desplazarias al offset donde se encontrarian los bytes que deseas cambiar.

Salu2

Pero la cosa es que aunque los encuentre de esa manera con el Olly, como hago después para encontrarlos con C++? Es decir, como se hace? :S

probaste buscando los pointers en el cheat engine? a veces hay pointers sobre pointers, pero el ultimo siempre tiene la dirección en color verde, ademas con el olly podes directamente parchar el exe y chau problema

Si, la primera vez los encontré en Cheat Engine y después para ver de donde salian usé el Ollydbg con la dirección que saqué del CE xD.


Título: Re: Como encontrar los punteros de valores de un juego?
Publicado por: Amerikano|Cls en 14 Febrero 2010, 22:40 pm
Puedes hacer un loader debugger, u otro similar que te facilite esta tarea  ;)