文章目录
省流版
问题:段错误,.eh_frame
不可执行。
需求:改执行权限。
工具:010 Editer
,我的版本:12.0.1 Windows 10
。
工具下载:010编辑器官网下载页。
第一步 查看段的执行权限
用readelf --segments getshell
查看段的执行权限。
用readelf
查看权限如下:
可以看到.eh_frame
所在的段04
是只读的。
第二步:使用010 Editer
修改执行权限
打开010 Editer
,通过Templates-Template Repository
安装ELF.bt
模板,然后拖入需要改的文件,编辑器将会自动解析。
将段[4
]改成RWE
:
后面还有个section header
,可以将.eh_frame
节也修改成可执行(不是必需的)。
这样就不会出现段错误了。
详细解释版
问题:段错误,.eh_frame
不可执行
需求:修改执行权限。
工具:010 Editer
,我的版本:12.0.1 Windows 10
。
第一步:查看段的执行权限
使用readelf --segments
命令查看段的执行权限。以下是一个示例输出:
readelf --segments getshell
输出示例(图片替换为文本描述):
[Segments] Section to Segment mapping: Segment Sections... 04 .eh_frame 04 .eh_frame 00001000 00001000 000001f0 00000000 WAI 0 0 4
从上述输出中,我们可以看到.eh_frame
所在的段04
是只读的(WAI)。
第二步:使用010 Editer
修改执行权限
- 打开
010 Editer
,通过Templates > Template Repository
安装ELF.bt
模板。 - 将需要修改的文件拖入
010 Editer
,编辑器将自动解析文件。 - 定位到段
04
,并将其权限修改为RWE
(读、写、执行):
[Segments] 04 .eh_frame 00001000 00001000 000001f0 00000000 RWE 0 0 4
注意:在某些情况下,可能还需要修改.eh_frame
节的执行权限,但这通常不是必需的。
完成上述步骤后,.eh_frame
段将具有执行权限,从而解决段错误问题。
注意:修改二进制文件的执行权限可能会对系统的安全性产生影响。在执行此类操作之前,请确保了解潜在的风险,并在必要时进行备份。
本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/124972056。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。