首页 > 其他分享 >解析EFL文件中符号表读取

解析EFL文件中符号表读取

时间:2023-08-15 11:24:17浏览次数:42  
标签:文件 符号表 读取 符号 绑定 可见 STT STV EFL

符号表表头

Linux 中使用指令查看完整读取elf文件

readelf -a example.elf

Num: Value Size Type Bind Vis Ndx Name

代表含义

Num 符号编号

Value 符号值,取决于上下文

Size 符号值

Type 符号类型,例如函数、对象、文件(源文件名称)、节(内存节)或未指定类型的绝对符号或未定义。

Bind 绑定属性,定义了符号的可见性和链接行为。例如,全局绑定意味着符号在所有文件中都可见,局部绑定仅在定义它的文件内可见,弱绑定类似于全局绑定,但符号可以被覆盖。

Vis 符号可见性,可以是默认、受保护、隐藏或内部。

Ndx 符号定义所在的节头表索引。ABS表示绝对值:不调整任何节地址的重定位

Name 符号名称。

符号类型包括:

STT_NOTYPE:未指定类型的符号。
STT_OBJECT:数据对象,例如变量或数组等。
STT_FUNC:函数或其他可执行代码。
STT_SECTION:与节相关的符号,通常是节的名称。
STT_FILE:源文件名称。

绑定属性

定义了符号的可见性和链接行为,包括:

STB_LOCAL:局部符号,仅在定义它的目标文件内可见。
STB_GLOBAL:全局符号,在所有目标文件中可见。
STB_WEAK:弱符号,在全局符号和局部符号之间。

符号可见性

定义了符号在目标文件外部的可见性,包括:

STV_DEFAULT:默认可见性,与全局和弱符号相关联。
STV_INTERNAL:仅供内部使用,不应在目标文件外部可见。
STV_HIDDEN:不可在目标文件外部引用,但可以通过动态链接器访问。
STV_PROTECTED:不可在共享库外部预先绑定,但可以通过动态链接器访问。

标签:文件,符号表,读取,符号,绑定,可见,STT,STV,EFL
From: https://www.cnblogs.com/zhouxingxing7920/p/17630781.html

相关文章

  • while读取文件 Shell中while循环的陷阱, 变量实效, 无法赋值变量
     在写while循环的时候,发现了一个问题,在while循环内部对变量赋值、定义变量、数组定义等等环境,在循环外面失效。一个简单的测试脚本如下:#!/bin/bashecho"abcxyz"|whilereadlinedonew_var=$linedoneechonew_varisnull:$new_var? 执行结果证明,$new_v......
  • 2024年秋招赛码网刷题-判断奇偶数、读取未给出行列数的矩阵
    1defis_even(n):2return1ifn%2==0else034n=int(input())56result=is_even(n)7print(result)#最后一行不能用return因为return只能在函数内部使用。在顶层代码中用return不合法 ......
  • Go 语言反射(Reflect)
    Go语言提供了一种机制,在不知道具体类型的情况下,可以用反射来更新变量值,查看变量类型Typeofpackagemainimport( "fmt" "reflect")funcmain(){ varbooknumfloat32=6 varisbookbool=true bookauthor:="www.w3cschool.cn" bookdetail:=make(map[string]string) bo......
  • NET web api 利用NPOI 读取excel
    安装NPOI`[HttpPost("users/upload")]publicasyncTaskUpload(IFormFilefile){if(file==null||file.Length==0)returnthis.BadRequest("文件未来上传");varapi_result=newList<string>();//文件......
  • VTK 实例12:读取PNG图像并显示
    1#include"vtkAutoInit.h"2VTK_MODULE_INIT(vtkRenderingOpenGL2);3VTK_MODULE_INIT(vtkInteractionStyle);45#include<vtkPNGReader.h>//PNG读取类6#include<vtkImageViewer.h>//显示2D图像类7#include<vtkRenderWindowInteractor......
  • VTK 实例11:读取BMP图像并显示
    窗宽(WindowWidth):表示所显示信号强度值的范围(CT图像上所包含的CT值范围)窗位(WindowLevel):又称窗水平。窗位是指窗宽上下限的平均数(窗位的高低影响图像的亮度)例如:窗宽为300H,当窗位是0H时,其CT值范围为-150H~0H~+150H;如窗位是+40H时,则CT值范围为-110H~+40H~+190H。通常欲观察某一组织的......
  • C语言教程:逐行读取数字的方法
    C语言教程:逐行读取数字的方法在C语言的编程开发中,经常需要处理字符串或文本文件,并从中提取出数字。本文将介绍逐行读取数字的方法,帮助初学者更好地理解和运用。C语言逐行读取数字的方法一、引言数字在计算机编程中扮演着重要的角色,应用广泛。而在处理字符串或文本文件时,需要......
  • msr读取CPU温度
    一MSR寄存器介绍MSR寄存器简介MSR(ModelSpecificRegister)是一类x86CPU提供的特殊寄存器,可以用来存储各种模型特定的数据,如配置、状态等信息。温度相关MSR寄存器在IntelCPU中,和温度检测相关的MSR寄存器主要有:IA32_THERM_STATUS(0x19C):包含温度数据IA32_TEMPERATURE_TA......
  • 读取CMOS数据
    一CMOS介绍CMOS(ComplementaryMetal-OxideSemiconductor)是一种常见的半导体芯片技术,广泛用于各种微处理器和外设中。在PC系统中,CMOS芯片主要用于实现实时时钟(RTC)和存储BIOS设置。CMOS内含有一小块SRAM芯片和电池,可以在系统断电时保持数据。二CMOS数据的读取要读取CMOS中......
  • CPUID的读取
    一CPUID介绍CPUID是一个用于获取中央处理单元(CPU)相关信息的指令。它通常在x86架构的计算机上使用,通过读取CPU寄存器中的特定值来提供关于CPU特性、制造商、型号和支持的功能的信息。CPUID指令返回的信息对于操作系统、编程、性能优化以及硬件识别非常有用。以下是有关CP......