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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7
11  Programación / Ingeniería Inversa / Re: Pointers & Offests MHS5 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!
12  Programación / Ingeniería Inversa / Re: Pointers & Offests MHS5 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
13  Programación / Ingeniería Inversa / Re: Pointers & Offests MHS5 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 !  :)
14  Programación / Ingeniería Inversa / 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!! :)
15  Programación / Programación Visual Basic / Re: Listar Procesos en: 20 Diciembre 2011, 00:52 am

Gracias! :)
16  Programación / Programación Visual Basic / Re: Listar Procesos en: 18 Diciembre 2011, 22:06 pm
lo mas facil seria usar estas funciones:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686985(v=vs.85).aspx
aunque no son del todo confiables porque no son portables

para obtener la ruta del programa primero obtenes el handle del proceso luego con la getmodulefilenameex
por cierto yo hice un src que hace exactamente eso y lo publique aqui en el foro

Te agradezco. Podrías dejarme el link?

Gracias! :)
17  Programación / Programación Visual Basic / Listar Procesos en: 18 Diciembre 2011, 19:09 pm
Buenas a todos, he encontrado diversas maneras de listar procesos (como con WMI) pero quisiera saber si hay alguna manera de listarlos con sus respectivas direcciones. Por ejemplo, si estoy ejecutando el proceso msnmsgr.exe, que lo liste de la siguiente manera: C:\Archivos de programa\Windows Live\Messenger\msnmsgr.exe.

Gracias! :)
18  Programación / Ingeniería Inversa / Re: Pointers & Offsets en: 13 Diciembre 2011, 04:40 am
Ya pues mira:

El trabajo será continuo hasta que lo detengas (obviamente se detiene haciendo click en Stop), ya que estará el CE analizando y esperando por el acceso a la dirección que estás punteando. Por ende, no terminará en ningún momento, a menos que el proceso sea cerrado, o el CE crashee, o que se yo... algo relacionado.

Los botones en la derecha estarán deshabilitados debido que debes seleccionar una de las instrucciones (que acceden a tu dirección dinámica) que aparecerán en un futuro luego de haber modificado el valor de tu dirección (luego de que algún opcode acceda a tu dirección dinámica). En pocas palabras, se habilitan al seleccionar un elemento de la lista, si está vacía, permanecerán deshabilitados.

Ahora, el programa se puede retrasar/bajar su velocidad de rendimiento increíblemente si el CE se encuentra maximizado, ya que "el trabajo" que mencionas, es "bastante pesado", por tal, minimiza el CE e intenta cambiar el valor, te recomiendo que el juego/programa no se encuentre en modo ventana, si no hay opción para jugarlo/usarlo en pantalla completa pues... suerte :xD.

Salud.

Gracias! Lo tendré en cuenta y luego edito :)
19  Programación / Ingeniería Inversa / Re: Pointers & Offsets en: 12 Diciembre 2011, 17:14 pm
Si te refieres a ésta opción:



Estás haciéndolo de manera errónea, ya que obviamente al usar cualquier opción de las que las imagen muestra, estás estableciendo un breakpoint (o punto de quiebre) al acceso de tal dirección; lo que causará que justo en el momento que el proceso quiera acceder a tal dirección, este se detendrá para esperar que el usuario haga algo con él, ya sea depuración, o lo que se le venga en gana. El punto es que al hacer ello estableces un breakpoint, por eso es que se "cuelga" el proceso.

Ahora me pregunto el cómo llegaste ahí... la manera correcta de hacerlo era eligiendo tal opción PERO en la lista de direcciones que el CE nos ofrece, es decir:



Donde: [0x00701850] era una dirección dinámica la cual se va a puntear.

Partiendo de esto, puedes continuar con el mini-tutorial.

Salud.

Es de la manera correcto como lo estoy haciendo... como lo indica la segunda imagen y me sucede lo comentado anteriormente :(
20  Programación / Ingeniería Inversa / Re: Pointers & Offsets en: 12 Diciembre 2011, 01:34 am
Pues no tienes que disculparte, al contrario, te lo agradezco muchisimo! :) Gracias por tu explicacion y los proximos minutos los dedicare a tu tutorial, edito y te comento!

Gracias!  :D

--------------------------------

Hola nuevamente :) He revisado el tutorial, es excelente (aunque aun no lo termino) y te lo agradezo muchisimo. Tengo unas duditas :P . Al presionar "Find out what adresses..." sobre la memoria en la lista de direcciones se abre una nueva ventana y comienza a trabajar. Este trabajo será constante o terminará en algún momento?  Ya que los botones de la derecha se me visualizan deshabilitados y no puedo modificar el valor porque el programa esta casi paralizado :(.

Gracias nuevamente!
Páginas: 1 [2] 3 4 5 6 7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines