Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: 0x98364 en 30 Mayo 2018, 09:26 am



Título: Las direcciones virtuales de un ejecutable, ¿pueden variar?
Publicado por: 0x98364 en 30 Mayo 2018, 09:26 am
Buenas a todos,

Es una pregunta tonta, lo sé, pero me surgió el otro día y no pude fundamentar con lógica la respuesta.

Las direcciones virtuales que, por ejemplo, te puede dar OllyDBG de un ejecutable, ¿pueden variar de un equipo a otro? O siempre van a ser las mismas independientemente del equipo donde se depure un programa.

Entiendo que lo que cambia es la traducción de virtual a física, pero qisiera mas info sobre este tema.

Muchas gracias.
Un saludo.


Título: Re: Las direcciones virtuales de un ejecutable, ¿pueden variar?
Publicado por: MCKSys Argentina en 30 Mayo 2018, 15:41 pm
Hola!

Si el ejecutable está compilado con ASLR (https://en.wikipedia.org/wiki/Address_space_layout_randomization) es muy probable (casi 100%  :P) que cambien.

Si no fue compilado con eso, entonces el binario principal estará siempre a partir de la ImageBase que figura en el Header.

Si tiene libs propias y las mismas no están con ASLR y, además, la dirección de su ImageBase no está ocupada al momento de cargarse; entonces la misma se cargará en la dirección que indica la ImageBase del header también.

Saludos!


Título: Re: Las direcciones virtuales de un ejecutable, ¿pueden variar?
Publicado por: 0x98364 en 31 Mayo 2018, 10:52 am
Muchas gracias por la respuesta.

He estado leyendo sobre la ImageBase de los ejecutables, y tengo entendido que por defecto se cargan en  0x400000, ¿es cierto?

La cosa cambia entonces cuando se cargan DDLs y éstas necesitan tirar de .reloc y entonces es ahí donde las direcciones virtuales varian.

Creo que ya empiezo a entender, mi duda era que siempre que cargaba un ejecutable en OllyDBG siempre empezaba por la misma dirección virtual independientemente del equipo que utilizase y de la memoria del equipo, pero ya empiezo a tener idea jeje. Gracias de nuevo.

Un saludo.


Título: Re: Las direcciones virtuales de un ejecutable, ¿pueden variar?
Publicado por: Geovane en 1 Junio 2018, 20:24 pm
Os threads mudam de endereço virtual.