#include #include int main() { char sh[] = "\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xb0\x04\xb3\x01\xeb\x05" "\x59\xb2\x0d\xcd\x80\xe8\xf6\xff\xff\xffHello World !"; asm("jmp %esp"); return 0; } /******************/ char sh[] = "\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xb0\x04\xb3\x01\xeb\x05" "\x59\xb2\x0d\xcd\x80\xe8\xf6\xff\xff\xffHello World !"; int main() { printf("taille : %d\n",sizeof(sh)-1); //au cas oł on veuille afficher sa taille int *ret; // le -1 est parce qu'il ne faut pas tenir compte du 0 terminal *( (int *) &ret + 2) = (int) sh; } /******************/ char sh[] = "\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xb0\x04\xb3\x01\xeb\x05" "\x59\xb2\x0d\xcd\x80\xe8\xf6\xff\xff\xffHello World !"; int main() { void (f*) () = (void *) sh; f(); return 0; }