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

在最近的Linux上执行进程堆栈中的代码,第1张

概述我想使用ptrace在正在运行的进程堆栈中编写一段二进制代码. 然而,这导致分段故障(信号11). 我可以确保%eip寄存器存储指向我想在堆栈中执行的第一条指令的指针.我想有一些机制可以保护堆栈数据不可执行. 那么,有没有人知道如何禁用这种堆栈保护.具体来说,我正在尝试Fedora 15. 非常感谢! 阅读完所有回复之后,我尝试了execstack,它真正使堆栈中的代码可执行.谢谢你们! 这可能 我想使用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

总结

以上是内存溢出为你收集整理的在最近的Linux上执行进程堆栈中的代码全部内容,希望文章能够帮你解决在最近的Linux上执行进程堆栈中的代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1021064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存