// Pancake Buffer Overflow example

#include <string.h>

func()
{
 write(1,"ExploitWorks\n",13);
 system("/bin/sh");
}

exploit()
{
 char buf[44]; // la primera variable declarada es la que mola per fer bufovr.
 int i;
 long ebp;
 
 for(i=0;i<=52;buf[i++]='A');     // buf[44] = %ebp
                                  // buf[48] = %eip
                                 
 *(long *)&buf[48]=&func; //li diem el nou %eip
            
 buf[52]=0; // definim el final de la cadena de texte
 
 puts(buf); // cridem a la funcio per explotarla.
}

main()
{
 exploit();
}

