2012-11-20 14 views
7

C'è uno strumento che analizza e può evidenziare cosa significa ogni riga di codice. Non sto cercando un decompilatore come quello del decompilatore Hex-Rays. Sto cercando uno strumento semplice che possa essere di aiuto nella lettura del codice assembly.Smontaggio braccio

risposta

9

Che dire dell'utilizzo di objdump?

$ cat add.c 
int add(int a, int b) { 
    return a + b; 
} 

$ arm-linux-gnueabihf-gcc -c -O2 add.c 

$ arm-linux-gnueabihf-objdump -d add.o 

add.o:  file format elf32-littlearm 


Disassembly of section .text: 

00000000 <add>: 
    0: 1840  adds r0, r0, r1 
    2: 4770  bx lr 

Può fornire il codice sorgente di miscelazione e se il file oggetto contiene le informazioni di debug (gcc-g) e se si fornisce -S a objdump.

+3

il braccio braccio (ARM Manuale di riferimento dell'architettura) per l'architettura specifica (o per ottenerne una più recente in quanto specificherà le differenze di architettura) dettagli su ciascuna istruzione. objdump + ARM ARM è tutto ciò di cui hai bisogno. –

+0

concordato. Lo strumento è quello di integrare e salvare quei preziosi minuti quando si sta eseguendo un programma stretto. – tecMav

+0

il set di istruzioni non è complicato, con una sola occhiata al documento, normalmente non è necessario tornare indietro. Potresti aver imparato le istruzioni impostate più volte nel tempo necessario per cercare e aspettare una risposta a questa domanda. –

7

Il Disassembler Online (APS) supporta ARM e una miriade di altre architetture. È possibile inserire dati binari nella Vista dal vivo e osservare la comparsa del disassemblaggio durante la digitazione, oppure è possibile caricare un file da smontare. Una bella caratteristica di questo sito è che puoi condividere il link per lo smontaggio con gli altri.

http://www.onlinedisassembler.com

+0

" La dimensione massima di caricamento è 256 KB ":( – m0skit0

2

Come lei ha ricordato nella sua interrogazione, IDA Pro può inserire lo smontaggio troppo.
Inoltre, hai provato ARM DS-5 Development Studio?
Alcune funzionalità sono più correlate all'hardware, ma IDE è molto bello (eclissi).

Caratteristiche: Supporto

  • debug per bare-metal, RTOS e Linux e piattaforme Android
  • non intrusiva ETM ciclo-accurate e PTM traccia istruzioni
  • Supporto completo per i sistemi SMP
  • Sessioni di debug automatizzate per cicli di debug più rapidi
  • Traccia di strumenti ITM e STM
  • Supporto per preconcetto figurati e personalizzati piattaforme

Nel manuale si dice contenga:

  • DS-5 Debugger, che copre tutte le fasi di sviluppo del prodotto
  • ARM Compiler 5.04 per il codice embedded e bare-metal
  • Linaro GCC Toolchain 2013.03 per applicazioni Linux e kernel Linux
  • Analizzatore di prestazioni ARM Streamline ™ per vari sistemi operativi, tra cui Linux, Android e RTX
  • Eclipse IDE, editor di codice sorgente e responsabile del progetto
  • piattaforme virtuali fisse (FVP) per Cortex ™ -A8 e processori quad-core Cortex-A9
  • progetti di esempio e documentazione
Problemi correlati