8

是否有一种工具可以分析并突出显示每行代码的含义。我不是在寻找像 Hex-Rays Decompiler 这样的反编译器。我正在寻找一个有助于阅读汇编代码的简单工具。

4

4 回答 4

17

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.

于 2012-11-20T08:59:09.833 回答
11

Online Disassembler (ODA) 支持 ARM 和无数其他架构。您可以在实时视图中输入二进制数据并在您键入时观看反汇编,或者您可以上传文件进行反汇编。该站点的一个不错的功能是您可以与其他人共享反汇编链接。

http://www.onlinedisassembler.com

于 2013-10-05T03:24:45.433 回答
3

正如您在问题中提到的,IDA Pro 也可以反汇编 ARM。
此外,您是否尝试过ARM DS-5 Development Studio
有些功能与硬件更相关,但 IDE (Eclipse) 非常好。

特征:

  • 对裸机、RTOS、Linux 和 Android 平台的调试支持
  • 非侵入式周期精确 ETM 和 PTM 指令跟踪
  • 无缝支持 SMP 系统
  • 自动调试会话,加快调试周期
  • ITM 和 STM 仪器跟踪
  • 支持预配置和自定义平台

在手册中它说它包含:

  • DS-5 调试器,涵盖产品开发的所有阶段
  • 用于嵌入式和裸机代码的 ARM Compiler 5.04
  • 适用于 Linux 应用程序和 Linux 内核的 Linaro GCC 工具链 2013.03
  • 适用于各种操作系统的 ARM Streamline™ 性能分析器,包括 Linux、Android 和 RTX
  • Eclipse IDE、源代码编辑器和项目管理器
  • 用于 Cortex™-A8 和四核 Cortex-A9 处理器的固定虚拟平台 (FVP)
  • 示例项目和文档
于 2014-02-05T12:07:05.030 回答
2

这个免费程序怎么样 :: http://pel.hu/armu/

于 2012-11-20T09:07:30.870 回答