如果启用了 /GS 编译选项,那么编译器会在可能出现缓冲区溢出的地方插入 cookie 校验代码,检查是否存在溢出。
原理是在缓冲区末尾,高地址处存储一个校验值,如果发生溢出,那么这个校验值会被覆盖,函数返回时检查这个值,如果被覆盖了,就代表出现溢出。

本文探讨了如何通过启用/GS编译选项在代码中实现缓冲区溢出检测,通过在缓冲区末尾插入校验值,确保程序安全,防止溢出并实时检查其完整性。
如果启用了 /GS 编译选项,那么编译器会在可能出现缓冲区溢出的地方插入 cookie 校验代码,检查是否存在溢出。
原理是在缓冲区末尾,高地址处存储一个校验值,如果发生溢出,那么这个校验值会被覆盖,函数返回时检查这个值,如果被覆盖了,就代表出现溢出。


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