Как интерпретировать динамическую таблицу символов в исполняемом файле ELF?

Я искал интерпретацию динамической таблицы символов ( .dynsym ) исполняемого файла ELF . Я смог успешно интерпретировать таблицу символов .symtab (16 байтов для каждого символа), используя атрибут value для обозначения адреса символа и атрибут name для обозначения смещение начала строки в разделе .strtab . Но я не могу интерпретировать динамическую таблицу символов ( .dynsym ), используя тот же метод. Я использовал блог Али [1] для справки.

Я просмотрел другой блог Али [2], но я не понимаю, как интерпретировать динамическую таблицу символов с помощью хеш-таблицы. Ясно, что это не то же отображение, которое используется в таблице символов. Как мне интерпретировать динамическую таблицу символов (.dynsym)?

Кроме того, исполняемый файл ELF, на который я смотрю, имеет два раздела, а именно .hash и .gnu.hash ]. В каком разделе я могу указать хеш-значения?

[1] http://blogs.oracle.com/ali/entry/inside_elf_symbol_tables
[2] http://blogs.oracle.com/ali/entry/gnu_hash_elf_sections

11
задан yugr 17 November 2018 в 08:59
поделиться