Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - makitos666

#1
Cita de: MCKSys Argentina en 21 Marzo 2018, 15:09 PM
No trabajo mucho en Linux, pero si funciona como en Windows, el main de cada DLL importada se ejecuta antes del EP del ejecutable.

Saludos!

Pues he probado, con este código sencillo:



He compilado la librería foo para luego importarla como dinámica en el main.

Tras analizar el main compilado con radare2, he identificado el Entry Point, he abierto el ejecutable con EDB Debugger, he puesto un breakpoint. El resultado es el siguiente:



Puedo así concluir que, como bien decías, los constructores de las librerías se ejecutan antes del Entry Point del ejecutable.

Gracias!
#2
Tiene sentido, supongo que lo mejor sera probar con un "Hello World" y debugear

Gracias a todos!
#3
Buenas,

Si que he leído por ahí que se pueden modificar los imports, para, como en Windows, inyectar código a través de las librerías.
Pero eso me asegura que ese código que yo pondré se ejecutara antes del código que se encuentra en el Entry Point del ELF?

Gracias!
#4
Hola, buenas tardes a todos!

Estoy empezando a aventurarme en las entrañas de los ejecutables para Linux. Creía que serian parecidos a los PE, pero madre mía que follón!

En los PE había las famosas TLS Callbacks que permitían añadir código ejecutable antes del entry point del PE, lo que los hacia un poco mas reacios a ser reverseados.

La pregunta que me trae hoy aquí es: hay algún símil para los ELF?
Ya he visto que esto del TLS callback no existen en este mundo, pero hay algún otro modo de ejecutar código antes del entry point?

Muchas gracias a todos!