//搞定了,呵呵
//具体参见:http://en.wikipedia.org/wiki/Stack_buffer_overflow
//中间没有任何调用bad的代码,但是实际执行的时候bad被调用
#include <stdio.h>
#include <string.h>
 
void bad() {
    printf("Oh shit really bad~!\r\n");
}

void foo() {
    char overme[4] = "WOW";
    *(int*)(overme+8) = (int)bad;
}
 
int main() {
   foo();
}