Я работаю над утилитой, которая должна преобразовывать шестнадцатеричные адреса в символическое имя функции и номер строки исходного кода в двоичном файле. Утилита будет работать в Linux на x86, хотя анализируемые ею двоичные файлы предназначены для встроенной системы на основе MIPS. Двоичные файлы MIPS представлены в формате ELF с использованием DWARF для символической информации отладки.
В настоящее время я планирую форкать objdump, передавая список шестнадцатеричных адресов и анализируя выходные данные, чтобы получить имена функций и номера строк исходного кода. Я скомпилировал objdump с поддержкой двоичных файлов MIPS, и он работает.
Я бы предпочел иметь пакет, позволяющий мне искать вещи из кода Python, не создавая другой процесс. Я не могу найти упоминания о libdwarf, libelf или libbfd на python.org, а также упоминания о python на dwarfstd.org.
Есть ли где-нибудь подходящий модуль?