linux shell 判断ELF文件,linux file命令查看elf文件信息
使用file命令查看动态链接库, 得到如下结果:
#/usr/libx32$ file ../lib32/libgomp.so.1.0.0
../lib32/libgomp.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=57ec5c404cd4f781ac341332437a6960784e4581, stripped
#:/usr/libx32$ file ../libx32/libgcc_s.so.1
../libx32/libgcc_s.so.1:ELF 32-bitLSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4713f15844e2b3e13f741bd5acef9aaab24cff03, stripped
其中比较让我困惑的红字部分,
ELF 32-bit表示这个elf文件是elf32的, ELF64-bit表示elf文件是elf64的
typedef struct elf32_hdr {
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type;
Elf32_Half e_machine;
Elf32_Word e_version;
Elf32_Addr e_entry; /* Entry point */
Elf32_Off e_phoff;
Elf32_Off e_shoff;
Elf32_Word e_flags;
Elf32_Half e_ehsize;
Elf32_Half e_phentsize;
Elf32_Half e_phnum;
Elf32_Half e_shentsize;
Elf32_Half e_shnum;
Elf32_Half e_shstrndx;
} Elf32_Ehdr;
typedef struct elf64_hdr {
unsigned char e_ident[16]; /* ELF "magic number" */
Elf64_Half e_type;
Elf64_Half e_machine;
Elf64_Word e_version;
Elf64_Addr e_entry; /* Entry point virtual address */
Elf64_Off e_phoff; /* Program header table file offset */
Elf64_Off e_shoff; /* Section header table file offset */
Elf64_Word e_flags;
Elf64_Half e_ehsize;
Elf64_Half e_phentsize;
Elf64_Half e_phnum;
Elf64_Half e_shentsize;
Elf64_Half e_shnum;
Elf64_Half e_shstrndx;
} Elf64_Ehdr;
对于elf32和elf64头,二者的前16字节是Magic, Magic第五个字节定义了elf文件的格式.
Intel 80386和x86-64则定义了目标机器的类型,也就是目标机器的指令集
linux shell 判断ELF文件,linux file命令查看elf文件信息相关推荐
- Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)
Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩) ...
- 利用Linux中file命令查看音频文件的采样率
有时,在处理音频文件时,需要知道该音频文件的采样率,那如何查看呢? 可以通过Linux中的file命令来查看音频文件的采样率.具体如下: $ file xxxx.wav 实例: $ file Data ...
- linux shell判断当前目录下的文件或目录
linux shell判断当前目录下的文件或目录 #!bin/sh for file in ./* doif test -f $filethenecho $file 是文件elseecho $file ...
- Linux Shell脚本入门--wget 命令用法详解
Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...
- Linux Shell 判断块设备节点是否存在
/************************************************************************** Linux Shell 判断块设备节点是否存在* ...
- linux快捷命令补齐,Linux Shell简介——自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式.doc...
Linux Shell简介--自动补齐/命令行的历史记录/编辑命令行/可用的 Shell 快捷方式 Unix (及后继者 Linux)在命令行下面诞生,因此,Unix 中的命令行有许多非常实用的功能. ...
- 红旗linux shell方式下配置声卡的命令是:,‘红旗杯’linux大赛——基础知识2
1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...
- 红旗linux shell方式下配置声卡的命令是:,linux基础知识1
1. 在chmod 命令中,-v参数的作用是: A. 详细说明组的变化 *B. 详细说明权限的变化 C. 改变本目录及其所有子目录的文件的权限 D. 在文件的权限确实改变时进行详细的说明 2. 为了显 ...
- linux more 乱码,Linux 中vim/more/cat/tail/head 命令查看文件显示乱码
Linux 中 vim/more/cat/tail/head 命令查看文件显示乱码,乱码原因:Linux默认字符集码为 UTF-8 ,有些其它字库未安装 解决方法: 1)临时解决方法将当前文件强制使用 ...
- linux zcat 使用方法,使用linux的zcat命令查看压缩文件的内容
服务器 本篇文章和大家了解一下使用linux的zcat命令查看压缩文件的内容.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. zcat命令用于不真正解压缩文件,就能显示压缩包中文件的 ...
最新文章
- HTML的标签描述1
- 详解使用VueJS开发项目中的兼容问题
- HALCON示例程序color_fuses_lut_trans.hdev通过颜色对保险丝进行分类
- linux只能用一半的内存,linux可用内存足够为什么还用swap
- 正则邮箱_正则表达式再进级
- SQL注入漏洞解决心得
- JVM 字节码指令手册 - 查看 Java 字节码
- 查询硬盘序列号(serialNumber),系统安装日期等
- CAD的.net开发
- linux运行speex,linux 用speex库压缩音频
- Linux Ubuntu18系统下最简单开机自启动程序方法 | 九七的Linux
- HDLBits 答案之Exams/ece241 2014 q7b
- html调用wmp,web页面中嵌入window media player,支持IE和Chrome
- C语言:0, '0', '\0', NULL 区别
- Delta tuning(只抓核心)
- 在线生成二维码 case
- VISI 21五金冲压连续模具设计视频教程 SDK21教程
- Android Google Maps API教程-入门
- 单片机STC89C52
- 2020秋招——XX校招笔试编程题:回文串