gpt4 book ai didi

c - 在 C 中引发堆栈下溢

转载 作者:太空狗 更新时间:2023-10-29 16:23:55 25 4
gpt4 key购买 nike

我想在 C 函数中引发堆栈下溢,以测试我系统中的安全措施。我可以使用内联汇编器来做到这一点。但是 C 会更便携。但是,我想不出一种使用 C 来引发堆栈下溢的方法,因为堆栈内存在这方面由该语言安全处理。

那么,有没有一种方法可以使用 C(不使用内联汇编程序)来引发堆栈下溢?

如评论中所述:堆栈下溢意味着让堆栈指针指向堆栈开头下方的地址(对于堆栈从低到高增长的架构,“下方”)。

最佳答案

在 C 中很难引发堆栈下溢是有充分理由的。原因是符合标准的 C 没有堆栈。

读一读 C11 标准,您会发现它谈论的是作用域,但没有谈论堆栈。这样做的原因是该标准尽可能避免将任何设计决策强加于实现。对于特定的实现,您也许能够找到一种在纯 C 中导致堆栈下溢的方法,但它将依赖于未定义的行为或特定于实现的扩展,并且不可移植。

关于c - 在 C 中引发堆栈下溢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47154336/

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