堆栈在微处理器中的作用是什么?
堆栈主要在函数调用期间使用,但根据编程的语言和级别,它可用于临时存储处理器寄存器数据或其他变量.
此外,当使用将部分数据存储在堆栈中并再次调用自身的递归函数时,堆栈还可以用于数据的短期大规模存储.
堆栈的一般用途是,
退货地址
回报价值
被调用函数的参数
被调用函数中的局部变量
将在被调用函数中重用的处理器寄存器
而且,是的,堆栈也用于漏洞利用.
其携带的返回地址到一个调用的函数返回,加上在阵列边界检查的弱点的性质C
语言,给出了一个非常好的方式以引起缓冲区溢出处于弱势(不安全写的)程序的堆栈.