ELF Format 笔记(六)—— 字符串表

时间:2022-11-24 13:03:44

ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287

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

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

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

ELF Format 笔记(六)—— 字符串表

字符串引用示例:

ELF Format 笔记(六)—— 字符串表

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

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