use*_*729 3 c memory stack segmentation-fault
据说下面的代码会导致分段违规:
#include <stdio.h>
#include <string.h>
void function(char *str) {
char buffer[16];
strcpy(buffer,str);
}
int main() {
char large_string[256];
int i;
for( i = 0; i < 255; i++)
large_string[i] = 'A';
function(large_string);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
它的编译和运行方式如下:
gcc -Wall -Wextra hw.cpp && a.exe
Run Code Online (Sandbox Code Playgroud)
但没有任何结果.
注意
上面的代码确实会覆盖ret地址等等,如果你真的明白它下面会发生什么.
该RET地址将0x41414141要具体.
重要 这需要深刻的堆栈知识
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |