Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2005, 08:36
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Se ve muy claramente que esto es un exploit ... dudo mucho que este permitido en este foro.

Lo primero, ¿Te compila? No estas haciendo ningun casting contra malloc que devuelve void ...

Lo segundo, ¿Porque haces esto: __asm__("mov %esp,%ecx");? ¿Que se supone que va a haber en el registro ecx como para que se lo asignes al puntero de pila? Por lo menos en mi Windows cuando haces eso logras que la direccion de retorno se vuelva 0 y por lo tanto nunca llega a: printf("Usando dirección: 0x%x\n", addr); porque nunca retorna de la funcion get_cod. Supongo que eso es lo que te esta pasando tambien ...

¿No tendria mas sentido algo asi como: mov eax, esp? Porque tal como esta ahora get_cod siempre devuelve un valor indeterminado (lo que haya en eax antes de ser llamada).
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO