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
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.
Che dire di questo programma gratuito :: http://pel.hu/armu/
Websense blocca l'URL: "- ( – tecMav
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.
" La dimensione massima di caricamento è 256 KB ":( – m0skit0
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
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. –
concordato. Lo strumento è quello di integrare e salvare quei preziosi minuti quando si sta eseguendo un programma stretto. – tecMav
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. –