Nie można wykonać kodu powłoki -> (Speicherzugriffsfehler (Speicherabzug geschrieben))
mam tę funkcję:
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)();
}
(ten kod pochodzi z:samouczek powłoki)
więc skompilowałem i wykonałem go, ale otrzymałem tylko ten komunikat: Speicherzugriffsfehler (Speicherabzug geschrieben).
Dlaczego nic nie otrzymuję, tylko ten komunikat o błędzie?
p.s .: mój system to komputer ubuntu x86. kod powłoki powinien z nim współpracować. skompilowałem go za pomocą gcc i gcc-4.5, oba te same błędy ...