Analizing MIPS binaires:est-il une bibliothèque Python pour l'analyse des données binaires?

StackOverflow https://stackoverflow.com/questions/45954

  •  09-06-2019
  •  | 
  •  

Question

Je suis en train de travailler sur un utilitaire qui doit résoudre les adresses hexadécimales à une fonction symbolique de nom et de code source numéro de ligne dans un fichier binaire.L'utilitaire s'exécute sur Linux sur x86, bien que les binaires il analyse sera pour une MIPS système embarqué.Le MIPS binaires sont au format ELF, à l'aide de NAIN pour les informations de débogage symbolique.

Je suis actuellement à la planification de la fourche à la fourchette objdump, en passant dans une liste d'adresses hexadécimales et l'analyse de la sortie d'obtenir les noms de fonction et la source des numéros de ligne.J'ai compilé une objdump avec le soutien de MIPS binaires, et il est de travail.

Je préfère avoir un paquet de me permettre de regarder les choses de manière native du code Python sans bifurquer un autre processus.Je ne peux trouver aucune mention de libdwarf, libelf, ou libbfd sur python.org ni aucune mention de python sur dwarfstd.org.

Est-il un module adapté disponible quelque part?

Était-ce utile?

La solution

Veuillez vérifier pyelftools - un nouveau pure bibliothèque Python signifiait pour ce faire.

Autres conseils

Vous pourriez être intéressé par le NAIN de la bibliothèque de pydevtools:

>>> from bintools.dwarf import DWARF
>>> dwarf = DWARF('test/test')
>>> dwarf.get_loc_by_addr(0x8048475)
('/home/emilmont/Workspace/dbg/test/main.c', 36, 0)

Vous devriez donner Construire un essai.Il est très utile pour analyser des données binaires dans des objets python.

Il y a même un exemple pour le ELF32 format de fichier.

Je ne sais pas du tout, mais si tout le reste échoue, vous pouvez utiliser ctypes pour utiliser directement libdwarf, libelf ou libbfd.

J'ai été le développement d'un NAIN de l'analyseur à l'aide de Construire.Actuellement assez rude, et l'analyse est lente.Mais je pensais au moins que vous le sachiez.Il peut répondre à vos besoins, avec un peu de travail.

J'ai obtenu le code de la Mercurial, hébergé sur bitbucket:

Construire c'est très intéressant de la bibliothèque.Le NAIN est une formule complexe (que je découvre) et le pousse à Construire à ses limites je pense.

hachior est une autre bibliothèque pour l'analyse des données binaires

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top