【发布时间】:2011-09-22 21:21:19
【问题描述】:
我想使用 ptrace 在正在运行的进程的堆栈中编写一段二进制代码。 但是,这会导致分段错误(信号 11)。
我可以确保 %eip 寄存器存储指向我要在堆栈中执行的第一条指令的指针。我想有一些机制可以让 linux 保护堆栈数据可执行。
那么,有谁知道如何禁用堆栈的这种保护。具体来说,我正在尝试 Fedora 15。
非常感谢!
阅读所有回复后,我尝试了 execstack,它确实使堆栈中的代码可执行。谢谢大家!
【问题讨论】:
-
您拥有 ptrace 权限。这是因为您是同一个用户,还是因为您是root?您的目标是什么架构?