简单地说, /gs 选项就是打开 stack guard 功能, 也就是在 call 一个函数, 进行压栈的过程中, 在 ebp 和 local variables 中间, 插入一个 global cookie. 一旦 local variable 发生了溢出, 改写了 stack guard 的值, 则函数返回的时候会检查到该变化, 并立刻终止应用程序, 这样能够及时发现问题.
请看原文:



/gs选项用于开启StackGuard功能,在函数调用时于ebp与局部变量间插入全局cookie,防止栈溢出导致的安全问题,一旦局部变量溢出,修改了StackGuard值,函数返回时将检测到变化并立即终止应用。
简单地说, /gs 选项就是打开 stack guard 功能, 也就是在 call 一个函数, 进行压栈的过程中, 在 ebp 和 local variables 中间, 插入一个 global cookie. 一旦 local variable 发生了溢出, 改写了 stack guard 的值, 则函数返回的时候会检查到该变化, 并立刻终止应用程序, 这样能够及时发现问题.
请看原文:



3119
497
3万+

被折叠的 条评论
为什么被折叠?