Shellcode im C-Programm

Der Linkhttp://hackoftheday.securitytube.net/2013/04/demystifying-execve-shellcode-stack.html hebt eine Möglichkeit zum Schreiben eines ausführbaren Shellcodes hervor.

#include<stdio.h>
#include<string.h>

unsigned char code[] = 
"\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80";

main()
{

    printf("Shellcode Length: %d\n", strlen(code));

    int (*ret)() = (int(*)())code;

    ret();
}

Was bedeutet die Zeile int(*ret)() = (int(*)())code; tun?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage