温馨提示×

linux反汇编用什么命令

小樊
70
2026-09-12 08:22:28
栏目: 智能运维

在 Linux 下进行反汇编,常用命令和工具取决于你面对的是 可执行文件、目标文件、还是进程/内存。下面按使用频率给你梳理:


一、最常用:objdump(适合文件反汇编)

objdump -d 文件名

反汇编代码段(最常用)

objdump -d -M intel 文件名

使用 Intel 语法(默认是 AT&T)

objdump -D 文件名

反汇编所有段(包括数据段)

objdump -S 文件名

源码 + 汇编对照(需编译时带 -g)


二、GDB(调试 + 反汇编)

gdb 文件名

进入后:

disassemble

反汇编当前函数

disassemble 函数名
disassemble 0x400000,0x400100
set disassembly-flavor intel

切换为 Intel 语法


三、ndisasm(裸二进制文件)

ndisasm -b 32 文件
ndisasm -b 64 文件

适合 Boot、Shellcode 等无格式二进制


四、专用反汇编 / 逆向工具

  • gdb + pwndbg / peda(CTF 常用)
  • radare2(r2)
    r2 -d 文件名
    pdf @ main
    
  • objdump + readelf 配合分析
  • IDA(图形化,Linux 有版本)
  • Ghidra(NSA 开源)

五、查看符号 / 段信息

readelf -h 文件名
readelf -S 文件名
nm 文件名

总结一句话

文件反汇编 → objdump -d
调试反汇编 → gdb disassemble
裸二进制 → ndisasm

如果你能说下具体场景(ELF?内核?Shellcode?CTF?),我可以给你更精确的命令。

0 踩