比这篇新的文章:
Codee#7666
比这篇旧的文章: java
作者: 半瓶墨水, 点击887次, 评论(2), 收藏者(0), , 打分:
所有评论,共2条:( 我也来说两句)
比这篇旧的文章: java
Buffer Overflow导致另一个函数被调用
语言: C++, 标签: 无 2009/10/26发布 2年前更新 更新记录作者: 半瓶墨水, 点击887次, 评论(2), 收藏者(0), , 打分:
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 }
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 }
所有评论,共2条:( 我也来说两句)
| 1 |
tk
2年前
回复
我这里会出现三种错误,平台 [ Debian5.0 gcc version 4.3.2 (Debian 4.3.2-1.1)] 如下:
|
| 2 |
@tk: Debug 版本?
|
代码
