インデックスがあるString Tableに ".dynsym"が見つかりました。 次に、sh_name = index & & sh_type = SHT_DYNSYMのセクションが見つかりました。 私はsh_offset = 464とsh_size = 64を得ました。 しかし、オフセット464にはゼロしかないことが添付された画像で分かります。ELFファイルのインポートテーブルはどこにありますか?
私はインポート表は、オフセット528の質問があるのを開始したとします。
インデックスがあるString Tableに ".dynsym"が見つかりました。 次に、sh_name = index & & sh_type = SHT_DYNSYMのセクションが見つかりました。 私はsh_offset = 464とsh_size = 64を得ました。 しかし、オフセット464にはゼロしかないことが添付された画像で分かります。ELFファイルのインポートテーブルはどこにありますか?
私はインポート表は、オフセット528の質問があるのを開始したとします。
しかし、あなたは上のオフセットが、添付の写真で見ることができます)%、それを計算する方法464にはゼロしかありません。
間違っ:01
、20
、29
、12
など私がチェックした最後の時間ない "だけゼロ" です。
私はインポート表いいえ、そうでない528
をオフセットに開始することとします。何らかの理由で、Microsoft PE
スタイルのインポートテーブルをELFファイルで見つけることが予想されます。そこにはありません。
テーブルには、ELFのインポートテーブルのが含まれています。一つはElf{32,64}_Sym
固定サイズのレコードが含まれています
typedef struct
{
Elf32_Word st_name; /* Symbol name (string tbl index) */
Elf32_Addr st_value; /* Symbol value */
Elf32_Word st_size; /* Symbol size */
unsigned char st_info; /* Symbol type and binding */
unsigned char st_other; /* Symbol visibility */
Elf32_Section st_shndx; /* Section index */
} Elf32_Sym;
をして.dynsym
セクションに含まれています。
他のテーブルは.dynstr
セクション(ファイル内ではオフセット528から始まります)に含まれ、可変サイズの文字列はNUL
文字で区切られています。
最初の表の.st_name
は、オフセットが.dynstr
であることを示します。
спасибозаответ。しかし、オフセット464にはElf32_Symレコードはありません。 sh_offset = 464 .dynsymセクションのヘッダから取得しました。奇妙なことに、sh_size = 64とsizeof(Elf32_Sym)= 16と同時に。 – Qwerty
私はちょっと考えました。 64バイトは4レコード(Elf32_Sym)ですか? – Qwerty