温馨提示×

Linux反汇编指令是什么

小樊
44
2026-08-31 05:30:40
栏目: 智能运维

在 Linux 下进行反汇编,常用的是 objdump、gdb、radare2、IDA 等工具。下面按“最常见 → 进阶”给你一个清晰清单。


一、最常用:objdump(必备)

1️⃣ 反汇编整个可执行文件

objdump -d test

2️⃣ 反汇编指定段(如 .text)

objdump -d -j .text test

3️⃣ 显示汇编 + 源码(如有调试信息)

objdump -S test

4️⃣ 显示机器码 + 汇编

objdump -d -M intel test

-M intel:使用 Intel 语法(默认是 AT&T)

5️⃣ 反汇编指定函数

objdump -d test | grep -A 20 "<main>:"

二、使用 GDB 反汇编(调试时常用)

1️⃣ 启动

gdb ./test

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ Intel 语法

set disassembly-flavor intel
disassemble main

5️⃣ 反汇编指定地址

disassemble 0x4005f0

三、快速查看二进制文件信息

查看文件类型

file test

查看段信息

readelf -S test

四、进阶工具(逆向分析常用)

1️⃣ radare2(很强)

r2 ./test

常用命令:

aaa        # 自动分析
s main     # 跳到 main
pdf        # 反汇编函数

2️⃣ ndisasm(适合裸二进制)

ndisasm -b 32 file.bin

3️⃣ capstone(Python 反汇编库)

from capstone import *
md = Cs(CS_ARCH_X86, CS_MODE_64)
for i in md.disasm(code, 0x1000):
    print(f"{i.address:#x}:\t{i.mnemonic}\t{i.op_str}")

五、常见参数速查表

工具 常用指令 说明
objdump -d 反汇编
objdump -S 源码+汇编
objdump -M intel Intel 语法
gdb disassemble 调试反汇编
radare2 pdf 函数反汇编
readelf -S 查看段

六、AT&T vs Intel 语法对比

AT&T(默认):

movl %eax, %ebx

Intel(推荐):

mov ebx, eax

如果你愿意,可以告诉我:

  • ✅ 你要分析 ELF / 二进制 / 内核模块 / Shellcode
  • ✅ 是 x86 / x64 / ARM
  • ✅ 目的是 CTF / 漏洞分析 / 学习汇编

我可以给你更精确的命令和实战示例。

0 踩