gpt4 book ai didi

c - gcc -fno-stack-protector 选项

转载 作者:行者123 更新时间:2023-12-02 20:32:44 26 4
gpt4 key购买 nike

我正在开展一个学校项目,基本上我们正在尝试了解堆栈溢出。我正在处理的一些示例代码基本上是:(精简)

char test[10];
int i;
for (i=0;i < 10000;i++) {
test[i] = 'a';
}

当我用 gcc 编译它时,一切都工作得很好。 Gcc 自动保护堆栈,决不让它过度溢出。现在,如果我尝试使用 gcc -fno-stack-protector...,则会运行完全相同的程序。我什至对汇编文件(-S 选项)进行了比较,它们是相同的。是什么赋予了?我搜索了手册页,没有提到 -fno-stack 选项...网上的所有内容都指向 -fno-stack-protector 选项,但我根本无法重新创建任何内容...

预先感谢您的帮助。 :)

最佳答案

你确定吗?我的给出(当且仅当堆栈防护未禁用):

.L2:
cmpl $9999, -36(%rbp)
jle .L3
movq -8(%rbp), %rdx
xorq %fs:40, %rdx
je .L5
call __stack_chk_fail

来自

int test() {
char test[10];
int i;
for (i=0;i < 10000;i++) {
test[i] = 'a';
}
}

关于c - gcc -fno-stack-protector 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9580383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com