2012-07-16 7 views
6

Sto cercando una libreria che esegue lo smontaggio di un codice binario.Libreria di disassemblaggio usata da objdump

Ho trovato che libdisasm esegue esattamente lo stesso compito che voglio. Tuttavia, ho trovato alcuni collegamenti che indicano che libdisasm non funziona per i file eseguibili a 64 bit. È corretto ?

Ma l'output di objdump per gli eseguibili a 64 bit è affidabile (per quanto ne so). Quindi, objdump usa anche una libreria simile per lo smontaggio ?? Inizialmente, pensavo che objdump utilizzasse libdisasm.

risposta

10

objdump utilizza libopcodes da binutils. È piuttosto semplice, tuttavia, poiché fornisce solo la rappresentazione del testo e nessuna informazione strutturata sulle istruzioni. Altre opzioni:

+0

ok grazie. Ma sai se libdisasm supporta 64-bit o no ?? –

+0

grazie per i link - letture interessanti. –

1

Questo è solo per chiarire una domanda posta da manifesto originale in un commento (Non ho punti sufficienti per commentare).

Il progetto libdisasm non è stato attivamente mantenuto in molti anni. Non supporta il set di istruzioni x86-64 (64-bit), o una qualsiasi delle estensioni x86 (32-bit) dopo SSE3.

Il progetto opdis è il sostituto di libdisasm. L'autore di libdisasm ha scritto opdis per evitare i frequenti aggiornamenti richiesti per supportare i set di istruzioni in continua evoluzione di Intel e AMD. Lo smontaggio del codice operativo in opdis viene gestito da libopcodes da GNU binutils (il disassemblatore utilizzato da objdump), con opdis che fornisce i metadati delle istruzioni e le funzioni di disassemblaggio di livello superiore.

Problemi correlati