【BUG】ELF文件执行时出现段错误Segmentation fault,解决:使用010编辑器修改ELF文件不可执行段权限
问题:段错误,.eh_frame不可执行。

需求:改执行权限。
工具:010 Editer,我的版本:12.0.1 Windows 10。
工具下载:010编辑器官网下载页。
第一步 查看段的执行权限
用readelf --segments getshell查看段的执行权限。
用readelf查看权限如下:

可以看到.eh_frame所在的段04是只读的。
打开010 Editer,通过Templates-Template Repository安装ELF.bt模板,然后拖入需要改的文件,编辑器将会自动解析。
将段[4]改成RWE:

后面还有个section header,可以将.eh_frame节也修改成可执行(不是必需的)。
这样就不会出现段错误了。
【BUG】ELF文件执行时出现段错误Segmentation fault,解决:使用010编辑器修改ELF文件不可执行段权限的更多相关文章
- linux C++ 莫名奇异的段错误(segmentation fault),无法调用其他函数
进来在linux下开发C++项目,遇到了非常奇怪的bug. 项目须要多线程实现,在写好代码后,每当执行到线程函数内部,当内部调用其他函数如printf.fopen等时就会提示段错误(segmentat ...
- linux: QT安装时出现段错误segmentation fault
环境:macOS 10.14.6 VMware Fusion版本:11.0.1 QT版本:qt-creator-linux-x86_64-opensource-2.5.2.bin 安装时出现:segm ...
- Linux下的段错误(Segmentation fault)
Linux开发中常见段错误问题原因分析 1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针.不存在的地址.受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用G ...
- 函数栈溢出引起的段错误segmentation fault
遇到了一个奇怪的问题: 有一个回调函数中发生了段错误,但经检查也没有什么明显的错误,然后用排除法一点一点屏蔽,最后定位在一个函数里出错,但这个函数没什么明显错误.最后把入口参数改为引用传递就不报错误. ...
- 用gdb调试程序笔记: 以段错误(Segmental fault)为例
用gdb调试程序笔记: 以段错误(Segmental fault)为例[转] 1.背景介绍2.程序中常见的bug分类3.程序调试器(如gdb)有什么用4.段错误(Segmental fault)介绍5 ...
- 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。
使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式. 參考原文: ORA-01555 Using Automatic Undo M ...
- 使用gulp解决外部编辑器修改Eclipse文件延迟更新的问题
本人前端用惯了Hbuilder,修改了eclipse项目中的文件后,由于是外部编辑器修改过的,eclipse不会自动部署更新,一般按F5刷新项目,或者在 preferences > genera ...
- 使用gulp解决外部编辑器修改Eclipse文件延迟刷新
本人前端用惯了Hbuilder,修改了eclipse项目中的文件后,由于是外部编辑器修改过的,eclipse不会自动部署更新,一般按F5刷新项目,或者在 preferences > genera ...
- 解决外部编辑器修改Eclipse文件延迟刷新【补充】
在之前的文章,使用gulp解决外部编辑器修改Eclipse文件延迟刷新,原理是用gulp把更改过的项目文件直接复制一份到Tomcat的webapp.root下, 现在补充另外一种方法,双击Server ...
- 【Z】段错误Segment Fault定位,即core dump文件与gdb定位
使用C++开发系统有时会出现段错误,即Segment Fault.此类错误程序直接崩溃,通常没有任何有用信息输出,很难定位bug,因而无从解决问题.今天我们介绍core dump文件,并使用gdb进行 ...
随机推荐
- kali linux脚本小子速成
$如果你耐心看十分钟,你会惊奇的发现我讲的是一堆废话,别急.kali linux博大精深,绝对不是十分钟就能学的完,真正的好东西永远都是夹在屎里,想学你想要的,拿出你的决心来. kali linux用 ...
- [NOI2014] 购票 题解
首先发现 \(p_x\times dis(x,y)+q_x\) 异常像是能斜率优化的样子,那先把求 \(f_x\) 的式子写出来(下设 \(d_x\) 表示 \(x\) 到根的距离): \[f_x=\ ...
- 如何在JMeter中配置断言,将非200状态码视为测试成功
如何在JMeter中配置断言,将非200状态码视为测试成功 引言 在接口测试中,HTTP响应状态码是判断请求是否成功的重要依据.通常情况下,状态码200表示请求成功,而其他状态码则可能表示各种类型的错 ...
- SQL取系统时间的前一个月的月份和年份
SQL SERVER 提供了一些时间函数:取当前时间:select getdate()取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月取年份:SEL ...
- QT5笔记:4. 设置应用图标
4. 设置应用图标 参考视频:https://www.bilibili.com/video/BV1AX4y1w7Nt # 在项目的.pro文件中添加如下内容,ico文件名称可变 RC_ICONS = ...
- Linux Centos7 下使用yum安装redis
更改yum源 由于CentOS官方yum源里面没有Redis,这里我们需要安装一个第三方的yum源,这里用了Fedora的epel仓库: yum install epel-release 安装redi ...
- Linux系列:如何调试 malloc 的底层源码
一:背景 1. 讲故事 上一篇我们聊过 C# 调用 C 的 malloc 代码来演示heap的内存泄露问题,但要想深入研究得必须把 malloc 的实现库 libc.so 给调试起来,大家都知道在Li ...
- cypress route 拦截 zepto ajax 请求时候 response 返回 null 问题原因
原文链接:https://blog.jijian.link/2020-08-03/cypress-zepto-ajax-response-null/ 如果你项目有如下几个巧合,大概率会发现一个 aja ...
- The selected directory is not a valid home for Go SDK
前言 The selected directory is not a valid home for Go SDK 出现这个错误的原因是 idea 的 Go-plugin 插件,和 Go 的sdk版本不 ...
- Golang 入门 : 包名与导入路径
math/rand包有一个Intn函数,可以生成一个随机数,所以我们需要导入math/rand.然后调用rand.Intn生成随机数. 等一下!Intn来自math/rand包,那为什么我们调用包的时 ...