Analisando binários MIPS: existe uma biblioteca Python para analisar dados binários?

Estou trabalhando em um utilitário que precisa resolver endereços hexadecimais para um nome de função simbólico e um número de linha de código-fonte em um binário. O utilitário será executado no Linux em x86, embora os binários analisados sejam para um sistema incorporado baseado em MIPS. Os binários MIPS estão no formato ELF, usando DWARF para as informações simbólicas de depuração.

Atualmente, estou planejando bifurcar objdump, passando uma lista de endereços hexadecimais e analisando a saída para obter nomes de funções e números de linhas de origem. Eu compilei um objdump com suporte para binários MIPS e está funcionando.

Eu preferiria ter um pacote que permita pesquisar coisas nativamente a partir do código Python sem precisar de outro processo. Não encontro menção de libdwarf, libelf ou libbfd no python.org, nem menção de python no dwarfstd.org.

Existe um módulo adequado disponível em algum lugar?

questionAnswers(6)

yourAnswerToTheQuestion