Analizing MIPS binærfiler: er det en Python bibliotek for parsing binære data?

stemmer
10

Jeg jobber med et verktøy som må løse hex-adresser til en symbolsk funksjon navn og kildekoden linjenummer innenfor et binært. Verktøyet kan kjøres på Linux på x86, men binærfilene det analyser vil være for en MIPS-basert embedded system. MIPS binærfiler er i ELF-format, ved hjelp DWARF for den symbolske feilsøkingsinformasjon.

Jeg er for tiden planlegger å punge objdump, passerer i en liste med hex adresser og analyse av produksjonen for å få funksjonsnavn og kildelinjenumre. Jeg har samlet en objdump med støtte for MIPS binærfiler, og det fungerer.

Jeg foretrekker å ha en pakke tillater meg å se ting opp opprinnelig fra Python koden uten forgreininger en annen prosess. Jeg finner ingen omtale av libdwarf, libelf eller libbfd på python.org, og heller ikke noen omtale av python på dwarfstd.org.

Er det en passende modul tilgjengelig noe sted?

Publisert på 05/09/2008 klokken 14:44
kilden bruker
På andre språk...                            


6 svar

stemmer
8

Du kan være interessert i DWARF biblioteket fra 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)
Svarte 05/09/2010 kl. 17:29
kilden bruker

stemmer
4

Vennligst sjekk pyelftools - en ny ren Python bibliotek ment å gjøre dette.

Svarte 06/01/2012 kl. 07:11
kilden bruker

stemmer
4

Du bør gi Konstruer en prøve. Det er veldig nyttig å analysere binære data i python stedene.

Det er enda et eksempel på det ELF32 filformat.

Svarte 04/02/2009 kl. 09:19
kilden bruker

stemmer
3

Jeg har vært å utvikle en dverg parser bruker Konstruer . Foreløpig ganske grovt, og analyse er treg. Men jeg tenkte at jeg bør i det minste gi deg beskjed. Det kan passe dine behov, en bit av arbeid.

Jeg har koden i Mercurial, vert på bitbucket:

Konstruer er et veldig interessant bibliotek. DWARF er et komplekst format (som jeg oppdaget) og skyver Konstruer til sine grenser tror jeg.

Svarte 30/08/2009 kl. 00:48
kilden bruker

stemmer
3

Jeg vet ikke om noen, men hvis alt annet mislykkes du kan bruke ctypes å direkte bruke libdwarf, libelf eller libbfd.

Svarte 05/09/2008 kl. 15:23
kilden bruker

stemmer
2

hachior er et annet bibliotek for parsing binære data

Svarte 11/06/2010 kl. 14:23
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more