摘要:本发明提供了一种软件栈缓冲区溢出的容错方法,包括以下步骤:获取容错保护的目标程序,对目标程序的二进制可执行文件进行解析,以识别出目标程序中的函数和函数中栈缓冲区的信息,将动态插桩工具附加到目标程序的所有线程之上,用动态插桩工具拦截目标程序的函数调用和函数返回,判断拦截结果是否为目标程序的函数调用,若是,则用动态插桩工具拦截对栈缓冲区的初始化操作,在目标程序的堆空间中分配堆缓冲区,使其与栈缓冲区映射,将栈缓冲区与堆缓冲区的映射关系保存到映射表中,映射关系包括栈缓冲区的信息和堆缓冲区的信息,用动态插桩工具拦截所有内存访问操作,以获得内存访问操作的虚拟有效地址,本发明实现了对栈缓冲区溢出进行容错。