温馨提示×

linux反汇编指令如何配置

小樊
43
2026-07-21 14:22:31
栏目: 智能运维

在 Linux 下进行反汇编(disassembly)通常用的是 objdump、gdb、radare2、IDA、Ghidra 等工具。下面按常见需求给你一个清晰、实用的配置与使用指南。


一、最常用:objdump(系统自带)

1️⃣ 安装

大多数 Linux 已自带:

objdump -v

若没有(极少见):

sudo apt install binutils     # Debian/Ubuntu
sudo yum install binutils     # CentOS/RHEL

2️⃣ 基本反汇编

objdump -d test.bin

3️⃣ 常用参数(强烈推荐)

objdump -M intel -d test.bin
  • -M intel:使用 Intel 语法(默认是 AT&T)
  • -d:反汇编可执行段
  • -D:反汇编所有段(包括数据)

4️⃣ 显示源码 + 汇编

objdump -M intel -S test.elf

5️⃣ 反汇编指定函数

objdump -M intel -d test.elf | grep -A 30 main

二、GDB 反汇编(调试场景)

1️⃣ 安装

sudo apt install gdb

2️⃣ 进入 GDB

gdb ./test

3️⃣ 设置 Intel 语法

set disassembly-flavor intel

4️⃣ 查看反汇编

disassemble main

或当前函数:

disas

5️⃣ 查看指定地址

x/10i 0x401000

三、Radare2(逆向工程神器)

1️⃣ 安装

sudo apt install radare2

2️⃣ 启动分析

r2 ./test

3️⃣ 自动分析

aaa

4️⃣ 查看反汇编

pdf @ main

5️⃣ 切换到 Intel 语法

e asm.syntax=intel

四、ARM / MIPS / RISC-V 反汇编

objdump 指定架构

objdump -b binary -m arm -M force-thumb -D test.bin

常见架构:

  • arm
  • aarch64
  • mips
  • riscv

五、推荐配置(高效使用)

✅ 永久设置 objdump Intel 语法(alias)

echo "alias dis='objdump -M intel -d'" >> ~/.bashrc
source ~/.bashrc

✅ GDB 自动 Intel 语法

echo "set disassembly-flavor intel" >> ~/.gdbinit

六、常见问题

Q1:反汇编显示全是 nop / 乱码?

  • 文件可能是 stripped
  • 需要分析 .text 段
  • 可能是指令集不匹配(ARM vs x86)

Q2:想看 shellcode?

objdump -b binary -m i386 -M intel -D shellcode.bin

七、工具选择建议

场景 推荐
快速查看 objdump
调试 GDB
逆向分析 radare2 / Ghidra
商业分析 IDA Pro

如果你愿意,我可以:

  • ✅ 帮你 分析一个具体二进制
  • ✅ 配置 ARM / MIPS 环境
  • ✅ 教你 如何从汇编还原 C 逻辑

直接把你的 系统架构 + 目标文件类型 发我即可。

0