Buffer Overflow导致另一个函数被调用

切换背景色
主题: 字体: 切换行号 全选代码块(Ctrl+C复制) 半瓶墨水4个月前贴出, C++ 语言
C++代码: Buffer Overflow导致另一个函数被调用
01 //搞定了,呵呵
02 //具体参见:http://en.wikipedia.org/wiki/Stack_buffer_overflow
03 //中间没有任何调用bad的代码,但是实际执行的时候bad被调用
04 #include <stdio.h>
05 #include <string.h>
06
07 void bad() {
08     printf("Oh shit really bad~!\r\n");
09 }
10
11 void foo() {
12     char overme[4] = "WOW";
13     *(int*)(overme+8) = (int)bad;
14 }
15
16 int main() {
17    foo();
18 }
返回正常查看模式 返回代码发芽网首页