你的位置:首页 > 操作系统

[操作系统]ELF Format 笔记(六)—— 字符串表


字符串表中包含若干以 null 结尾的字符串,这些字符串通常是 symbol 或 section 的名字。当 ELF 文件的其它部分需要引用字符串时,只需提供该字符串在字符串表中的位置索引即可。

字符串表中首先是一个空串,用于表示一个空名字,所以字符串表的第一个字节是“\0”。

下图展示了一个长度为 25 字节的字符串表:

 

字符串引用示例:

 

既可以引用一个完整的字符串,也可以引用一个字符串的子串。

一个目标文件中会有多个字符串表,比如 android libstdc++.so 中有 .dynstr、.shstrtab。.shstrtab 是专门保存 section 名字的字符串表。