Shellcode kann nicht ausgeführt werden -> (Speicherzugriffsfehler (Speicherabzug geschrieben))

Ich habe diese Funktion:

char code[] = "\xeb\x19\x31\xc0\x31\xdb\x31\xd2\x31\xc9\xb0\x04\xb3\x01\x59\xb2\x05\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xe2\xff\xff\xff\x68\x65\x6c\x6c\x6f";

int main(int argc, char **argv)
{
  int (*func)();
  func = (int (*)()) code;
  (int)(*func)();
}

(dieser Code stammt von:Shellcode-Tutorial)

also habe ich es kompiliert und ausgeführt, aber ich bekomme nur diese Meldung: Speicherzugriffsfehler (Speicherabzug geschrieben).

Warum bekomme ich nichts zurück, nur diese Fehlermeldung?

ps .: mein system ist ein ubuntu x86 pc. Der Shellcode sollte damit funktionieren. ich habe es mit gcc und mit gcc-4.5 kompiliert, beide den gleichen Fehler ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage