在 Linux 下进行反汇编,常用工具和指令取决于你的需求(比如分析 ELF 文件、内核、shellcode、二进制漏洞等)。下面按场景 + 指令给你一个实用清单。
适合:ELF 文件、可执行程序、库文件
objdump -d ./a.out # 反汇编所有可执行段
objdump -d -M intel ./a.out # Intel 语法(推荐)
objdump -S ./a.out # 源码+汇编(需带 -g 编译)
objdump -s -j .text ./a.out # 显示某段原始数据
✅ 优点:简单稳定
❌ 缺点:交互差,不适合动态分析
适合:调试 + 反汇编 + 动态分析
gdb ./a.out
(gdb) disassemble main
(gdb) disassemble /m main # 混合源码
(gdb) layout asm # TUI 汇编视图
配合插件更舒服:
pip install pwndbg
适合:逆向工程、CTF、二进制分析
r2 ./a.out
[0x000000]> aaa # 自动分析
[0x000000]> pdf # 反汇编当前函数
[0x000000]> s main
[0x000000]> pdf @ main
或新版:
rizin ./a.out
✅ 功能极强
❌ 学习曲线陡
适合:看流程、函数调用、伪代码
./ghidraRun
适合:shellcode、boot、raw bin
ndisasm -b 32 shellcode.bin
ndisasm -b 64 shellcode.bin
objdump -d vmlinux
crash
gdb vmlinux /proc/kcore
gdb + pwndbgrizinobjdump -d -M intel如果你愿意,可以告诉我:
我可以直接给你一套最合适的工作流。