elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
30 Agosto 2008, 03:48  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ingeniería Inversa (Moderadores: ShadowDark, karmany)
| | | |-+  Duda con desensamblado
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Duda con desensamblado  (Leído 184 veces)
eLank0
eLhAcKeR r00Lz

Desconectado Desconectado

Mensajes: 890



Ver Perfil WWW
Duda con desensamblado
« en: 29 Mayo 2008, 11:40 »

Hola, estaba siguiendo el texto: Smashing the stack for fun and profit y tengo una dudilla.

El texto nos pone el siguiente código:

Código:
#include <stdio.h>

int main()
{
char *name[2];

name[0] = "/bin/sh";
name[1] = NULL;

execve(name[0], name, NULL);
}

Y teóricamente, al desensamblarlo con GDB, lo primero que observamos que nos llama la atención es el famoso procedure prelude:

Código:
push %ebp
movl %esp, %ebp
subl $0x8, %esp

Y de este modo reservamos los 8 bytes para el puntero a carácter del programa.

Pero en la práctica, no es así. Lo que a mí me muestra como procedure prelude es lo siguiente:

Código:
0x08048212 <main+10>:   push   %ebp
0x08048213 <main+11>:   mov    %esp,%ebp
0x08048215 <main+13>:   push   %ecx
0x08048216 <main+14>:   sub    $0x24,%esp

Y mis dudas son:

¿Por qué metemos el valor de ECX en la pila cuando aún no hemos tocado ese registro?

¿Podría afirmar que en mi SO (Ubuntu) los punteros son de 12 bytes en vez de 4?

Gracias, Salu2  :)
En línea

Antes de Postear,
Ragnarok
Moderador Global
*****
Desconectado Desconectado

Mensajes: 4.193


Ver Perfil
Re: Duda con desensamblado
« Respuesta #1 en: 30 Mayo 2008, 00:42 »

¿Tienes un SO de 96 bits? creía que sólo se hacían de 64...

Usa sizeof para ver el tamaño de los punteros.

http://publications.gbdirect.co.uk/c_book/chapter5/sizeof_and_malloc.html
En línea

No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC