星空网 > 软件开发 > 操作系统

ELF Format 笔记(九)—— Elf32_Sym 结构的 st_value 和 st_shndx 成员

ilocker:关注 Android 安全(新手) QQ: 2597294287

前面的笔记中提到过 Elf32_Sym 结构,本篇笔记再写一下其中的 st_value 和 st_shndx 成员。

对于不同类型的 object file,st_value 的含义略有不同:

 · 对于 relocatable (.o) 文件,如果相应的 st_shndx 的值为 SHN_COMMON,则 st_value 保存的是对齐字节数。

 · 对于 relocatable (.o) 文件,如果该符号已定义,则 st_value 保存的是该符号在其所定义的 section (由 st_shndx 指定) 中的偏移量。

 · 对于可执行和 shared object (.so) 文件,st_value 保存的是一个虚拟地址。android linker 通过将 st_value 与该文件加载到内存的基址相加,从而得到该符号的定义地址。

  ELF Format 笔记(九)—— Elf32_Sym 结构的 st_value 和 st_shndx 成员images/loading.gif' data-original="http://images0.cnblogs.com/blog2015/763648/201508/252201218129368.png" />

st_shndx 是定义该符号的 section 在 section header table 中的索引 (section number)。这里列出几个特殊值:

 · SHN_UNDEF:通常表示该符号在本文件中未定义 (外部符号),android linker 会为该符号做地址重定位。

 · SHN_ABS:表示该符号包含一个绝对的 (absolute) 值 (往往是一个地址),不受重定位影响。例如:

   ELF Format 笔记(九)—— Elf32_Sym 结构的 st_value 和 st_shndx 成员

   又如,表示文件名的符号:

   ELF Format 笔记(九)—— Elf32_Sym 结构的 st_value 和 st_shndx 成员

 · SHN_COMMON:表示该符号是一个 common 符号,通常未初始化的全局变量就是该类型的符号。关于 common 符号可以去了解一下链接器的“common block”机制。




原标题:ELF Format 笔记(九)—— Elf32_Sym 结构的 st_value 和 st_shndx 成员

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

TikTok账号运营的八大秘籍,是如何做的?:https://www.kjdsnews.com/a/1550714.html
为什么跨境电商这么火?怎么利用海外抖音TikTok引流做跨境电商?:https://www.kjdsnews.com/a/1550715.html
TikTok广告开户攻略:如何在TikTok上建立你的品牌形象:https://www.kjdsnews.com/a/1550716.html
亚马逊卖家可以移除差评吗?如何操作?:https://www.kjdsnews.com/a/1550717.html
避坑指南 | ROI小于1,红人营销还要继续么?:https://www.kjdsnews.com/a/1550718.html
抖音对东方甄选亮“黄牌”:https://www.kjdsnews.com/a/1550719.html
长治婚庆女司仪和主持人:https://www.vstour.cn/a/366176.html
北京丰台区水上乐园哪家好玩?:https://www.vstour.cn/a/366177.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流