加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在最近的Linux上执行进程堆栈中的代码

发布时间:2020-12-13 23:49:50 所属栏目:Linux 来源:网络整理
导读:我想使用ptrace在正在运行的进程的堆栈中编写一段二进制代码. 然而,这导致分段故障(信号11). 我可以确保%eip寄存器存储指向我想在堆栈中执行的第一条指令的指针.我想有一些机制可以保护堆栈数据不可执行. 那么,有没有人知道如何禁用这种堆栈保护.具体来说,
我想使用ptrace在正在运行的进程的堆栈中编写一段二进制代码.
然而,这导致分段故障(信号11).

我可以确保%eip寄存器存储指向我想在堆栈中执行的第一条指令的指针.我想有一些机制可以保护堆栈数据不可执行.

那么,有没有人知道如何禁用这种堆栈保护.具体来说,我正在尝试Fedora 15.

非常感谢!

阅读完所有回复之后,我尝试了execstack,它真正使堆栈中的代码可执行.谢谢你们!

解决方法

这可能是由于现代处理器上的 NX bit.您可以使用execstack为您的程序禁用此功能.

http://advosys.ca/viewpoints/2009/07/disabling-the-nx-bit-for-specific-apps/

http://linux.die.net/man/8/execstack

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读