2015-10-15 5 views
0

Comment générer un assembly à partir d'un binaire croisé?Comment générer un assembly à partir d'un binaire croisé?

commande Compile utilisé est:

arm-none-linux-gnueabi-gcc test.c -o test 

Comment puis-je démonter le test binaire?

Je l'ai utilisé:

objdump -d test -m arm 

Mais il dit:

test:  file format elf32-little 

objdump: can't use supplied machine arm 

Toute aide?

+4

Essayez 'arm-none-linux-gnueabi-objdump'? –

+0

... ou installez un binutils multiarch, si vous détestez vraiment les préfixes cross-toolchain. – Notlikethat

Répondre

1

GCC génère l'assemblage déjà, il vous suffit de lui dire de ne pas jeter les fichiers loin lorsque vous avez terminé:

arm-none-linux-gnueabi-gcc -save-temps test.c -o test 

Notez que les fichiers générés ne contiendront que la langue d'assemblage de votre code et non les choses qui est lié à partir de la bibliothécaire C, par exemple pour printf().

Pour voir le désassemblage complet, y compris le code de la bibliothèque, vous pouvez utiliser arm-none-linux-gnueabi-objdump -d test.

Side note: « test » est un mauvais exemple nom binaire, comme il y a un fichier binaire nommé test déjà /bin/ ou /usr/bin/ sur tout système unix ou linux.