Is there a tool which analyzes and can highlight what each line of code means. I am not looking for a decompiler like that of Hex-Rays Decompiler. I am looking for a simple tool that shall be of assistance in reading the assembly code.
What about using 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
It can provide source code mixing as well if your object file contains debug information (gcc -g) and if you supply -S to objdump.
The Online Disassembler (ODA) supports ARM and a myriad of other architectures. You can enter binary data in the Live View and watch the disassembly appear as you type, or you can upload a file to disassemble. A nice feature of this site is that you can share the link to the disassembly with others.
http://www.onlinedisassembler.com
As you mentioned in your question, IDA Pro can disassemble ARM too.
Besides, have you tried ARM DS-5 Development Studio?
Some features are more hardware-related, but the IDE (Eclipse) is very nice.
Features:
In the manual it says it contains:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With