Sí, siempre serán estáticos, ya que estos los establece el compilador.
No del todo, ejemplo.
[AddressBase]
$ + 04h [Instrucción1]
$ + 08h [Instrucción2]
$ + 0Ch [Instrucción3]
El desplazamiento para la [Instrucción3], es 0Ch apartir de la AddressBase es decir
AddressBase + 0Ch = Instrucción3
Pero que pasa si el programador se le ocurre hacer esto:
[AddressBase]
$ + 04h [Instrucción1]
$ + 08h [Instrucción2]
$ + 0Ch [Instrucción2.1]
$ + 010h [Instrucción3]
El desplazamiento para la [Instrucción3] cambió ahora es 010h es decir,
AddressBase + 010h = Instrucción3
En ambos casos, aunque el offset cambió obtengo lo mismo.
Si lo llevamos al mundo real, en un game que hacen constantes actualizaciones, puede que agregen o quiten código, eso quiere decir que el offset puede cambiar, respecto a la actualización dada.
También Podrías encontrarte con esto:
BasePointer ->Pointer ->Pointer ->Address Dinámica
Un Pointer de muchas bases, o multilevel pointer cómo lo llama el CE.
En fin...
Esto no va particularmente a nadie....
Estoy cansando de ver tutoriales con el CE de cómo encontrar punteros sin dar la más mínima base, siquiera hacer una pequeña referencia LittleEndian (ya que si trabajas jugando en memoria debes conocer el concepto), y el PORQUE funciona los settings de el CE de esa manera, que es lo que hace el SearchPointer del CE, y si NO tengo CE, en tengo un CE limitado que a las justas puedo hacer un Scanning (por la culpa de los anticheats), que hago? dejar de depender de todas las opciones del CE.
Que verán , para los juegos jodedos a las justan tendrán la opción Scanning del CE y eso es.....
Estoy cansando de ver tuts, que digan click aquí, click aquí... click en esta otra opción, bajalo al CT, has esto y esto, pero ningún porque, o almenos teoría de porque funciona esto así.
En games ONLINE lo primero que se bajan es el CE xD.
No quiero crear ningún flame ni trollear a nadie, pero yo vengo de un mundo "gamehackers" y la verdad apesta (almenos por dónde yo estuve), si señor, y dejenme decirles que nadie suelta nada, es un mundo cerrado, por la simple razón que muchos sólo saben ser lammers usando toolsitas sin saber porque funciona así, o la teoría de cómo hace tal o cual scan
Por ejemplo cuando veas algo así:
en esa settings del CE que te dice para encontrar el posible pointer (no recuerdo el nombre de la subventana)
mov eax,[ebx+esi*4+00001234]
Sería mucho pedir que dijeran esto?
EBX = AddressBase
ESI = Indice
*4 = Escala
1234h = Offset
Creo que toca hacer un Tut sobre esto...
En fin...
Nox, sin animo de trollear.