write.asm //it writes BBBB to the stdout out exit(0) xor eax,eax xor ebx,ebx xor edx,edx push dword 0x42424242 mov ecx, esp mov bl, 0x1 mov dl, 0x4 mov al, 0x4 int 0x80 xor ebx, ebx mov al, 0x1 int 0x80 #nasm write.asm the output file is write a program which dumps the hex of the shellcode in an array # ./s-proc -p write char shellcode[] = "\x66\x31\xc0\x66\x31\xdb\x66\x31\xd2\x66\x68\x42\x42\x42\x42" "\x66\x89\xe1\xb3\x01\xb2\x04\xb0\x04\xcd\x80\x66\x31\xdb\xb0" "\x01\xcd\x80"; #cat run_shellcode.c const char c0de[] = "\x66\x31\xc0\x66\x31\xdb\x66\x31\xd2\x66\x68\x43\x43\x44\x45" "\x66\x89\xe1\xb3\x01\xb2\x04\xb0\x04\xcd\x80\x66\x31\xdb\xb0" "\x01\xcd\x80"; int main() { char buf[sizeof(c0de)]; strcpy(buf, c0de); ((void(*)())buf)(); } #gcc run_shellcode.c -o run_shellcode #./run_shellcode Segmentation fault my platform is debian sarge kernel Linux adsl2 2.6.8-mppe #1 Mon Oct 17 14:25:27 EEST 2005 i686 GNU/Linux i tried to debug it and saw that it starts to run the shellcode in a segment called .debug003.then segfaults. how can i run this C program?