Tengo un programa simple:
void bug(char *arg1)
{
char name[128];
strcpy(name, arg1);
printf("Hello %s\n", name);
}
int main(int argc, char **argv)
{
if (argc < 2)
{
printf("Usage: %s <your name>\n", argv[0]);
return 0;
}
bug(argv[1]);
return 0;
}
Máquina: Ubuntu 14.04.1 32-Bit / gcc version 4.8.2
El archivo compilado con -fno-stack-protector
y ALSR está desactivado
Esto es lo que obtengo después de intentar ejecutarlo desde gdb:
Lo que esperaba es ver el EIP establecido en 0x43434343
y el EBP establecido en 0x42424242
, pero vemos que ambos son 0x41414141
Por favor ayuda. ¿Qué estuvo mal?