我的系统是 x86-64 Linux,我尝试在系统上执行堆栈或数据段中的代码。具体来说,我首先将一条二进制指令放入一个整数数组中(我尝试将数组放入堆栈或数据段中),然后将普通函数返回地址替换为数组地址。每次,我都会遇到分段错误。
我的问题是,x86-64 是否有一些分段保护机制来停止堆栈或数据段中的执行行为?如果是真的,这是否意味着通过缓冲区溢出的代码注入在 x86-64 架构中完全停止了?
我的系统是 x86-64 Linux,我尝试在系统上执行堆栈或数据段中的代码。具体来说,我首先将一条二进制指令放入一个整数数组中(我尝试将数组放入堆栈或数据段中),然后将普通函数返回地址替换为数组地址。每次,我都会遇到分段错误。
我的问题是,x86-64 是否有一些分段保护机制来停止堆栈或数据段中的执行行为?如果是真的,这是否意味着通过缓冲区溢出的代码注入在 x86-64 架构中完全停止了?