84R*_*73R 1 assembly cpu-architecture
一般来说,使用两个堆栈来防止缓冲区溢出探索是否更简单?一个用于变量和传递参数的堆栈,另一个用于返回地址。
或者像 NX/XD 位(在 AMD/Intel x86 上)作为非可执行堆栈的东西做得更好?
Itanium 有两个堆栈。我相信一个用于存储局部变量(如数组和东西),而另一个用于返回地址。这样,您就不能通过溢出缓冲区来覆盖返回地址。
https://blogs.msdn.microsoft.com/oldnewthing/20050421-28/?p=35833