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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Pointers & Offests MHS5
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pointers & Offests MHS5  (Leído 4,040 veces)
calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Pointers & Offests MHS5
« en: 9 Noviembre 2013, 16:49 pm »

Hola foreros, les cuento que estoy intentando hallar el pointer y su respectivo offset de una dirección de memoria dinamica de un programa. Para hacerlo segui este tutorial http://foro.elhacker.net/empty-t342767.0.html. El problema es este: una vez que consigo la direccion de memoria del valor que quiero (dinamica), por ejemplo 48fba3cc voy a Search > Pointer Search y busco desde 48fb0000 hasta 48fba3cc. Una vez que hago esto siempre me salen aprox 70 resultados, entonces pruebo desde 48fba000 hasta 48fba3cc, pero igual me salen unos 50 resultados. Entonces empiezo a sumarle a la primera direccion, por ejemplo 48fba100 hasta 48fba3cc, 48fba200 hasta 48fba3cc, 48fba300 hasta 48fba3cc, 48fba400 hasta 48fba3cc, y asi sucesivamente, hasta que llega un momento que me salen unos 7 resultados de los cuales hay 1 solo que esta en color verde, asi que supongo que ese es el valor que busco (por ejemplo FF0B23CC). Entonces ahi supuestamente ya tengo el pointer en la columna "value" y el offset en la columna "Distance from". Entonces hago la prueba y sumo value + offset y me da como resultado la primera direccion de todas, entonces hasta ahora va todo bien. Luego cierro el programa y vuelvo a abrirlo para comprobar que sea la direccion que busco, pero resulta que FF0B23CC sigue teniendo el mismo valor que la vez anterior, entonces si sumo la columna value + offset (distance from) me sigue dando la primera direccion de todas (que ya no tiene el mismo valor porque era dinamica). Entonces, si la direccion que contiene el pointer siempre tiene el mismo valor, si le sumo el offset siempre me da el mismo resultado, que es la primera direccion de todas (pero como era dinamica una vez que volvi abrir el programa ya cambio). Como voy a obtener una nueva direccion de memoria haciendo la suma del pointer + offset si estos dos siempre tienen el mismo valor? Estoy haciendo algo mal?  :huh:

Gracias!! :)
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Pointers & Offests MHS5
« Respuesta #1 en: 9 Noviembre 2013, 17:04 pm »

Ese tutorial que has puesto utiliza una herramienta adicional para localizar el pointer. Con CE 6.3 no necesitas ninguna herramienta adicional.

Utiliza el Multilevel PointerScan que viene con CE, debería sacarte el pointer con 2 escaneos de direcciones. De todas formas... para que necesitas el pointer? Si quieres crear un trainer genérico simplemente crea un auto-assemble script, funciona en el 80% de los juegos.

Si por casualidad tu juego es de esos 20% que no aceptan un AutoAssembleScript deberás añadir un simple AoB() Scan a tu script y problema solucionado.
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: Pointers & Offests MHS5
« Respuesta #2 en: 9 Noviembre 2013, 18:48 pm »

Hola, gracias por la respuesta. Prefiero usar MHS5, no hay forma de hacerlo? Por cierto no quiero hacer ningun trainer ni nada, simplemente obtener un determinado valor.

Gracias nuevamente !  :)
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Pointers & Offests MHS5
« Respuesta #3 en: 10 Noviembre 2013, 09:18 am »

Hola, gracias por la respuesta. Prefiero usar MHS5, no hay forma de hacerlo? Por cierto no quiero hacer ningun trainer ni nada, simplemente obtener un determinado valor.

Gracias nuevamente !  :)

Pues supongo que si habrá alguna forma de hacerlo, pero desconozco el procedimiento usando MHS5 (es la primera vez que escucho el nombre de ese programa).

Si quieres puedo hacer un tutorial de pointers, pero deberá ser en Chea Engine ya que es la herramienta que más domino.
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: Pointers & Offests MHS5
« Respuesta #4 en: 10 Noviembre 2013, 22:36 pm »

Hola, sí, gracias, entonces tendré que usar Cheat Engine, no creo que sea un problema, solo que me gustaba más MHS que no requiere instalación.

Por cierto, quisiera saber si el procedimiento que hago es correcto, me podrías confirmar? (y no es solo para ti la pregunta, sino para cualquiera que pueda responderme). Suponiendo que encuentro una dirección estática que almacena el valor de un puntero. Entonces hago puntero + offset y me da una dirección dinámica que tiene el valor que busco. Luego, cuando reinicio el programa, vuelvo a acceder al valor de la dirección estática, voy bien? Esa dirección ahora tendría que tener otro valor, no es así? Es decir, otro puntero, entonces si hago nuevo_puntero + offset me da una nueva dirección de memoria que es dinámica y tiene el valor que busco. Es así el procedimiento? De ser así, el problema es que al reiniciar el programa la dirección estática siempre tiene como valor el mismo puntero, entonces al sumarle el offset siempre me da una dirección de memoria que al ser dinámica ya no contiene el valor que busco.  :huh:

Gracias nuevamente!  :xD
« Última modificación: 11 Noviembre 2013, 00:37 am por calk9 » En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Pointers & Offests MHS5
« Respuesta #5 en: 11 Noviembre 2013, 10:08 am »

Hola, sí, gracias, entonces tendré que usar Cheat Engine, no creo que sea un problema, solo que me gustaba más MHS que no requiere instalación.

Por cierto, quisiera saber si el procedimiento que hago es correcto, me podrías confirmar? (y no es solo para ti la pregunta, sino para cualquiera que pueda responderme). Suponiendo que encuentro una dirección estática que almacena el valor de un puntero. Entonces hago puntero + offset y me da una dirección dinámica que tiene el valor que busco. Luego, cuando reinicio el programa, vuelvo a acceder al valor de la dirección estática, voy bien? Esa dirección ahora tendría que tener otro valor, no es así? Es decir, otro puntero, entonces si hago nuevo_puntero + offset me da una nueva dirección de memoria que es dinámica y tiene el valor que busco. Es así el procedimiento? De ser así, el problema es que al reiniciar el programa la dirección estática siempre tiene como valor el mismo puntero, entonces al sumarle el offset siempre me da una dirección de memoria que al ser dinámica ya no contiene el valor que busco.  :huh:

Gracias nuevamente!  :xD

Esa explicación de los punteros es algo extraña, yo los punteros los utilizo de la siguiente forma:

1- Busco un valor en un juego
2- El valor se almacena en una dirección dinámica
3- Busco una dirección estática que almacene la dirección dinámica de mi valor (puntero).

Al menos así entiendo yo los punteros. Luego están los MultiLevel Pointers, que básicamente es un puntero que apunta a un puntero que apunta a un puntero que apunta a la variable. No es muy común encontrar una variable de esa complejidad pero CheatEngine es la única tool que conozco capaz de escanear punteros de multi-nivel.

En cuanto tenga un rato (y tenga ganas) creo un tutorial de punteros.

Saludos!
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
calk9

Desconectado Desconectado

Mensajes: 69


Ver Perfil
Re: Pointers & Offests MHS5
« Respuesta #6 en: 11 Noviembre 2013, 18:16 pm »

Pues eso es exactamente lo que hago, el problema es que no hay ninguna dirección estática que almacene la dirección dinámica. Entonces lo que hago es buscar una dirección estática que almacene una dirección dinámica que se encuentre cerca de la que realmente me interesa. Luego le sumo el offset y listo.

El principal problema es que una vez que encuentro la dirección estática (paso 3), cuando reinicio el programa sigue almacenando la misma dirección, una y otra vez, y el valor del paso 1 ya se encuentra en otra dirección. Me explico bien? Que estoy haciendo mal?

Gracias de nuevo!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Tutorial] Hallar Pointers & Offset con CE & MHS5
Ingeniería Inversa
[NelSito*] 3 6,854 Último mensaje 25 Octubre 2011, 04:42 am
por jackgris
Pointers & Offsets
Ingeniería Inversa
calk9 8 12,462 Último mensaje 13 Diciembre 2011, 04:40 am
por calk9
frame pointers?
Programación General
aixeiger 2 2,428 Último mensaje 21 Marzo 2013, 17:55 pm
por aixeiger
VB.NET PointerWrite pointers LVL4
Programación Visual Basic
jonnyHS 6 5,944 Último mensaje 9 Octubre 2013, 23:45 pm
por jonnyHS
Offests de los miembros de la estructura DEVMODE
Programación C/C++
Eleкtro 4 2,218 Último mensaje 13 Diciembre 2015, 17:21 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines