Каждый двоичный файл обычно содержит три таблицы String -
1. .dynstr
2. .shstrtab
3. .strtab
В приведенном выше вопросе мы имеем дело с .shstrtab, который при расширении расшифровывается как - STRING TABle заголовка секции После прочтения заголовка ELF мы находим следующее поле в заголовке ELF - e_shstrndx. Это индекс, где мы можем найти .shstrtab. Следующая формула может быть использована для расчета, как это будет сделано -
offset = ((elfHdr.e_shstrndx)*elfHdr.e_shentsize)+elfHdr.e_shoff
Значение каждого параметра -
elfHdr.e_shstrndx = index where we can find .shstrtab
elfHdr.e_shentsize = Size of each Section Header
elfHdr.e_shoff = Offset at which section header starts.
Пожалуйста, оставьте комментарий, если вам нужно больше деталей