readelf命令读取elf文件的详细信息(推荐)

 更新时间:2023年02月13日 08:53:36   作者:Muling_m  
这篇文章主要介绍了readelf命令读取elf文件的详细信息,在这里使用一个elfDemo.rel作为示例,elfDemo.rel是elfDemo.c使用如下指令生成的,需要的朋友可以参考下

readelf命令

概述

readelf用于查看elf文件的文件信息,关于elf文件及其格式的介绍在【ctf权威竞赛指南笔记】(2)二进制文件中有比较详细的介绍。

常用参数

在这里使用一个elfDemo.rel作为示例,elfDemo.rel是elfDemo.c使用如下指令生成的。

gcc -c elfDemo.c -o elfDemo.rel 

elfDemo.c内容如下:

#include<stdio.h>
int global_inited_var = 10;//global var inited
int global_uninited_var;//global var uninited
char* global_char_x = "saa";
void func(int sum)
{
	printf("%d\n",sum);
}
void main(){
	static int local_static_inited_var = 20;//local static inited
	static int local_static_uninited_var;//local static uninited
	int local_inited_var = 30;//local inited
	int local_uninited_var;//local uninited					
	func(local_static_inited_var+local_static_inited_var+local_inited_var +local_uninited_var);
}

-a 全部

显示全部信息,等同于附参数-h -l -S -s -r -d -V -A -I

readelf -a elfDemo.rel

-h 文件头

查看elf文件的文件头。

readelf -a elfDemo.rel

-l 程序头

显示elf文件的程序头信息。需要注意,参数为小写L而不是大写的i。

等同于--program-headers--segments

readelf -l elfDemo.rel

rel文件需要链接而不可以直接执行,所以没有程序头。

-S section头

显示段头内容。

等同于--section-headers--sections

readelf -l elfDemo.rel

-e 全部头

等同于-h -l -S,显示三个头部信息。

readelf -e elfDemo.rel

-s 符号表

等同于--symbols。显示符号表。

readelf -e elfDemo.rel

-n 内核注释

显示内核注释信息。

-r 重定位

显示重定位信息。

readelf -r elfDemo.rel

-d 动态段

显示动态段信息。

这个文件没有.dynamic段。

-V 版本

显示elf文件的版本信息。

-A CPU架构

显示CPU架构信息。

-x 16进制展示段

以16进制形式显示指定段的内容,可以用段的索引或者段名来指定。

如在section头中可以看到,.text段索引为1,所以可以使用。、

readelf -x 1 elfDemo.rel
readelf -x .text elfDemo.rel

两种形式之一来查看.text段内的内容。

到此这篇关于readelf命令读取elf文件的详细信息的文章就介绍到这了,更多相关readelf命令读取elf文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux shell字符串操作详解(长度、读取、替换、截取、连接、对比、删除及位置)

    linux shell字符串操作详解(长度、读取、替换、截取、连接、对比、删除及位置)

    字符串是shell编程中最常用最有用的数据类型,这篇文章主要给大家介绍了关于linux shell字符串操作(长度、读取、替换、截取、连接、对比、删除及位置)的相关资料,需要的朋友可以参考下
    2024-03-03
  • 一天一个shell命令 linux文本操作系列-chmod命令用法

    一天一个shell命令 linux文本操作系列-chmod命令用法

    这篇文章主要介绍了一天一个shell命令 linux文本操作系列-chmod命令用法,需要的朋友可以参考下
    2016-06-06
  • Linux下模拟实现进度条实例详解

    Linux下模拟实现进度条实例详解

    这篇文章主要介绍了Linux下模拟实现进度条实例详解的相关资料,需要的朋友可以参考下
    2017-06-06
  • 使用Bash读取和处理CSV文件的方法

    使用Bash读取和处理CSV文件的方法

    本文主要介绍了使用Bash读取和处理CSV文件的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 详解Linux ln 命令

    详解Linux ln 命令

    Linux 中的文件分为 Hard Link 和 Symbolic Link 两种。Hard Link 文件又被称为硬链接文件、实体链接文件,Symbolic Link 文件则常被称为符号链接、软链接文件。这篇文章主要介绍了Linux ln 命令 ,需要的朋友可以参考下
    2019-08-08
  • shell脚本如何获取第几行 第几列的命令 awk sed

    shell脚本如何获取第几行 第几列的命令 awk sed

    这篇文章主要介绍了shell脚本如何获取第几行 第几列的命令 awk sed,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • Shell脚本echo指令使用小技巧

    Shell脚本echo指令使用小技巧

    这篇文章主要介绍了Shell脚本echo指令使用小技巧,包括使用echo指令输出换行、输出不换行、输出变量等技巧,需要的朋友可以参考下
    2014-07-07
  • Linux使用curl访问网页和wget下载文件

    Linux使用curl访问网页和wget下载文件

    这篇文章介绍了Linux使用curl命令访问网页和wget下载文件的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Linux 中LVS NAT 配置步骤的详解

    Linux 中LVS NAT 配置步骤的详解

    这篇文章主要介绍了Linux 中LVS NAT 配置步骤的详解的相关资料,这里列出详细的实现步骤,需要的朋友可以参考下
    2017-08-08
  • linux shell判断字符串为空的正确方法示例

    linux shell判断字符串为空的正确方法示例

    这篇文章主要给大家介绍了关于linux shell判断字符串为空的正确方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux shell具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07

最新评论