总体判断 在 Debian 上,围绕 objdump、GDB、ndisasm、radare2、Capstone 等工具,官方与社区资料已经覆盖了大多数日常与进阶的反汇编需求(语法选择、地址范围、按段反汇编、动态/静态分析、脚本化等)。配合 man 手册与在线教程,基本可以做到“查得到、够用”。若需要系统级、架构级的完整指令集参考,建议再结合各 CPU 厂商手册与更专业的逆向平台文档。
常用工具与文档覆盖
| 工具 | 典型用途 | 关键选项/子命令 | 文档与获取 |
|---|---|---|---|
| objdump(Binutils) | 静态反汇编、查看节与符号 | -d/-D、-M intel/att、–start-address/–stop-address、-j .text、-r/-t | Debian 包:binutils;命令:man objdump |
| GDB | 调试期反汇编、源码/汇编混合视图 | disassemble、layout asm、/m 显示机器码 |
包:gdb;命令:man gdb |
| ndisasm(NASM) | 原始二进制/裸机代码的 x86/x64 反汇编 | -b 32/-b 64、-o <start_addr> | 包:nasm;命令:man ndisasm |
| radare2 | 多架构逆向框架、图形/命令行分析 | pd/pdf、pd N、s sym.<name>、i |
包:**radare2;命令:man r2`、官方文档 |
| Capstone | 多平台多架构反汇编库(C/Python 等) | cs_open/cs_disasm 等 API |
包:libcapstone-dev;命令:man 3 capstone |
| readelf / nm / strings | ELF 结构、符号、可读字符串辅助分析 | readelf -h/-S/-s、nm、strings |
包:binutils;命令:man readelf/man nm/man strings |
| 上述工具在 Debian 均可通过包管理器安装,且各自提供 man 手册;社区教程与示例也较完备,覆盖从入门到进阶的常见用法。 |
文档齐全程度与边界
快速上手与查缺补漏
sudo apt-get install binutils gdb nasm radare2 libcapstone-dev(按需精简)。objdump -d -M intel your_binary | less(静态反汇编,Intel 语法)objdump -d --start-address=0x401000 --stop-address=0x401100 your_binary(按地址范围)gdb your_binary 后:layout asm、disassemble /m mainndisasm -b 64 your_binary(裸二进制 64 位反汇编)r2 your_binary 后:pd、pdf、iman <工具名> 与 --help 定位用法;再搜索“工具名 + 教程/示例”;遇到架构语义问题转向 CPU 厂商手册;复杂项目结合 Ghidra 等平台文档。