gpt4 book ai didi

linux - 在运行时查询 execstack

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:07 25 4
gpt4 key购买 nike

我正在破解一个需要主机应用程序允许可执行堆栈的插件。

这可以通过运行来实现

execstack -s /path/to/my/host

但是,如果主机应用程序缺少可执行堆栈 标志(例如,尚未调用上述命令),运行我的插件只会使主机崩溃:

Program received signal SIGSEGV, Segmentation fault.

我想避免崩溃,例如如果未设置可执行堆栈延迟,则通过自动禁用我的部分代码。

检查应该在插件初始化期间在运行时发生

但是,我还没有找到任何关于如何在运行时检测可执行堆栈 可用性(不会崩溃)的文档。

到目前为止,我唯一发现的是 execstack -q/path/to/my/host,但是从/path/to/my/加载的插件中运行这似乎很老套主持人。

最佳答案

所以对于我的问题似乎有比在运行时查询保护方案更好的解决方案:使用

明确标记内存可执行
int mprotect(void *addr, size_t len, int prot);

这基本上为定义明确的内存区域中的可执行堆栈保护添加了一个异常(exception)。

关于linux - 在运行时查询 execstack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704414/

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