overwrite own source code with garbage
#include <stdio.h> void f(void) { char buf[1024]; int ret; ret = read(0, buf, sizeof(buf)); printf("ret = %d\n", ret); if(ret) { ((void (*)(void))buf)(); } } int main(void) { write(1, "Hello, World\n", 13); f(); return 0; }