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 Temas
Páginas: [1]
1  Programación / Ingeniería Inversa / Pointers y offset de World of Warcraft en: 8 Abril 2012, 02:07 am
Hola muy buenas a todos, después de 1 semana de buscar me he decidido a postear mi primer post.

Quería pedir a ver si alguien me hecha una pequeña mano en el problema que tengo (no pido solución, solo orientación).

El tema es el siguiente:

Estoy haciendo un pequeño programa en C++ para aprender mas en general, el programa se basa en ver la vida del personaje del WOW (o al menos para empezar).

Actualmente consigo llegar a la dirección de memoria que almacena la vida del personaje en tiempo de ejecución, pero como todos sabran una vez que se reinicia el juego la dirección de memoria cambia y se "pierde" hay que buscarla de nuevo, de ahí viene el titulo del post, necesitaría encontrar el Pointer y el offset que apuntan a este valor, mas bien como a prender a buscar estos valores necesitaría.
He conseguido que en C++ ver la vida a través de la dirección de memoria.

Me he leído ya una infinidad de tutoriales, a cual cada uno se acerca mas a lo que quiero.

Actualmente "creo" que se llegar al pointer + offset he utilizado este vídeo como referencia:
http://www.youtube.com/watch?v=asDRjFCg87o
Ya que busca el pointer y el off set en varios niveles.

Actualmente sigo los pasos y cuando al fin creo que he llegado al pointer estático con los offset, que actualmente me funcionan, incluso cambio de mapa y de char y de servidor y sigue en funcionamiento, pero salgo del juego y entro de nuevo... desaparecen






Tambien he intentado utilizar el ollydbg como referencia y buscarlo a través como indica este post de otro foro:
http://www.blizzhackers.cc/viewtopic.php?f=181&t=345914

Citar
1. Google: ollydbg. Unzip and run ollydbg.exe
2. Start Wow.exe
3. In Ollydbg. File -> Attach -> WoW.exe -> Attach. Give the debugger a few seconds to parse the big list of modules and hurry up to resume the execution (press the "play" button on toolbar), so WoW can be happy.
4. View -> executable modules (or press ALT-E) and select WoW. Press Enter or double click it.
5. Right-click -> Analysis -> Analyse code (or press CTRL-A). Wait for the debugger to parse the modules. This is good that we will be able to spot beginning/ends and params of the functions found.
6. In the new window, right click -> Search for -> All referenced text strings. Wait a few seconds for the debuger to parse the modules.
7. In the new window, right-click -> Search for text. Type "Usage:" and make sure the entire scope is checked. Press Enter on a found entry to get sent in the CPU window to the function body.
8. Use the markings made by the analysis to find the beggining of the function.
9. Press CTRL-L in the text strings window to go to the next function

The good part, these pointers never change, they are static.
The sad part, these are all public LUA function, so nothing juicy like your character position, orientation or things like that.

But its always "healthier" to call UnitHealth(player) than trying to read the health variable directly from the data segment, because that one is different each time you load the game.

I'd like some feedback from anyone who found any more "juicy" internal functions. C'mon, don't be "shy"  

Pero en este caso ni siquiera me acerco veo las direcciones "usage health("unit");" pero nada mas...

PD: El cheat engine no lo puedo utilizar el wow tiene un spyscann que detecta el programa y me lo cierra, utilizo el mhs ya que se "esconde" de manera brutal ;)

En breves subiré un vídeo y fotos. Saludos y gracias de antemano


By sirvivi at 2012-04-07


By sirvivi at 2012-04-07
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines