我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

目录
  • readelf命令
    • 概述
    • 常用参数
  • -a 全部
    • -h 文件头
      • -l 程序头
        • -S section头
          • -e 全部头
            • -s 符号表
              • -n 内核注释
                • -r 重定位
                  • -d 动态段
                    • -V 版本
                      • -A CPU架构
                        • -x 16进制展示段

                          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

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

                          -h 文件头

                          查看elf文件的文件头。

                          readelf -a elfDemo.rel

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

                          -l 程序头

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

                          等同于--program-headers--segments

                          readelf -l elfDemo.rel

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

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

                          -S section头

                          显示段头内容。

                          等同于--section-headers--sections

                          readelf -l elfDemo.rel

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

                          -e 全部头

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

                          readelf -e elfDemo.rel

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

                          -s 符号表

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

                          readelf -e elfDemo.rel

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

                          -n 内核注释

                          显示内核注释信息。

                          -r 重定位

                          显示重定位信息。

                          readelf -r elfDemo.rel

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

                          -d 动态段

                          显示动态段信息。

                          这个文件没有.dynamic段。

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

                          -V 版本

                          显示elf文件的版本信息。

                          readelf命令读取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文件的详细信息(推荐)

                          到此这篇关

                          免责声明:

                          ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

                          ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

                          下载Word文档到电脑,方便收藏和打印~

                          下载Word文档

                          猜你喜欢

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

                          目录readelf命令概述常用参数-a 全部-h 文件头-l 程序头-S section头-e 全部头-s 符号表-n 内核注释-r 重定位-d 动态段-V 版本-A CPU架构-x 16进制展示段readelf命令 概述 readelf用
                          2023-02-13

                          详解Linux中几个获取硬件详细信息的命令

                          在Linux系统特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便。本文介绍几个在Linux系统中查看硬件信息的命令,它们是lspci、lsblk、lscpu 和 lsusb。 lspci 命令从命令的名称ls
                          2022-06-03

                          Linux查看文件详细信息的命令是什么

                          今天给大家介绍一下Linux查看文件详细信息的命令是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。在Linux 中,文件有访问时间、数据修改时间、状态修改
                          2023-06-28

                          Android通过aapt命令获取apk详细信息(包括:文件包名,版本号,SDK等信息)

                          公司运维问我怎么在windows上安装模拟器,我你说你安装模拟器干什么?他说,我安装模拟器查看app的包名这些信息做统计。 我顿时想,有必要这样折腾么? 我然后就给他装了Android SDK通过build-tools下面的aapt.exe
                          2022-06-06

                          Linux操作系统中读取目录文件信息的详细过程

                          本篇内容介绍了“Linux操作系统中读取目录文件信息的详细过程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!大致流程:   1.添加头文件
                          2023-06-13

                          编程热搜

                          目录