わかりました...だから、mmapのみを使用してelfファイルのすべてのセクション名を出力するプログラムを書くとします(それは重要ではありません...)
これまでに行ったことはこれです-ファイルを統計構造にマップしました = map_start = mmap(0, fd_stat.st_size, PROT_READ | PROT_WRITE , MAP_SHARED, fd, 0)) <0 )
私が得た開始点から書き込み形式にキャストしました = header = (Elf32_Ehdr *) map_start;
ファイルからセクション ヘッダー オフセットを取得 = secoff = header->e_shoff;
今-私はmap_start + secoffの場所に行く必要があることを知っています-それは私にセクションテーブルを与え、sh_nameは私に文字列テーブルのインデックスを与えます...
スティングテーブルに行くにはどうすればいいですか?それはどのように表されますか?どうやって使うの?sh_name の値、文字列テーブルのインデックス (配列として表されている場合)、またはオフセットです。
とにかく - 最初の 2 つのセクションの名前を出力したいとしましょう - 上記で書いたコードをどのようにすればよいでしょうか?