Linux の readelf の簡易版を書いています。
セクション情報を印刷したいので、セクションの名前が必要です。Elf64_Shdr 構造体では、sh_name 変数は、shstrtab 内のインデックスのみを示します。しかし、これは shstrtab ヘッダーのインデックスではないようです。関連データへのインデックスです。ELF ヘッダーは shstrtab セクション ヘッダーのみを指していて、関連するデータを指していないため、そこにたどり着く方法を考えています。ファイルの 16 進ダンプで確認できることから、ファイルの構造は次のとおりです。
ELF HEADER
phdr1
phdr2
segment1
segment2
shstrtab strings (i want this address, to make use of the sh_name indices)
shdr1
shdr2
shdr3 (this is the shstrtab section)
私はこれを間違って考えていますか?セクション名を教えてください。