在大多数系统中(linux,windows等) 堆栈从高内存地址开始并逐渐降低。
但是,大多数缓冲区从低地址到高地址增长。 这是有原因的吗?
因为我认为这是根本问题 缓冲区溢出攻击。
在早些时候,由于某种原因,系统设计师已经看到了这一点 使堆栈向下生长......
但我现在看到,这个架构(堆栈和缓冲区的增长方向不同) 似乎没有改变。
我知道有NX保护,ASLR,堆栈保护(金丝雀)等东西 保护缓冲区溢出攻击。但我不明白他们为什么不这样做 使缓冲区和堆栈的增长方向相同......
我错过了什么吗?