gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 01:06:25 24 4
gpt4 key购买 nike

我想使用 ptrace 在正在运行的进程的堆栈中编写一段二进制代码。但是,这会导致段错误(信号 11)。

我可以确保 %eip 寄存器存储指向我要在堆栈中执行的第一条指令的指针。我想 linux 有某种机制可以保护堆栈数据是可执行的。

所以,有没有人知道如何禁用堆栈的这种保护。具体来说,我正在尝试 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

关于linux - 在最近的 Linux 上执行进程堆栈中的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6482759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com