简短结论:nm 本身不能反汇编 Linux(内核、可执行文件等),nm 只是符号表查看工具,不是反汇编器。
nm 到底能干什么nm 的作用是查看目标文件 / 可执行文件 / 库中的符号信息,例如:
nm vmlinux
nm /bin/ls
nm libc.so
它能显示:
main、schedule)✅ 适合:
❌ 不能:
如果你要反汇编 Linux 内核或用户态程序,应使用:
objdump(最常用)objdump -d vmlinux # 反汇编内核
objdump -d /bin/ls # 反汇编程序
常用选项:
objdump -d -S vmlinux # 反汇编 + 源码(若有调试信息)
objdump -D vmlinux # 反汇编所有段
gdb(动态 / 静态分析)gdb vmlinux
(gdb) disassemble schedule
llvm-objdump(LLVM 工具链)llvm-objdump -d vmlinux
scripts/decodecode(内核自带)crash + disbpftrace / perf 做运行时反汇编nm vmlinux | grep schedule # 找符号
objdump -d vmlinux | grep -A20 "<schedule>:"
nm:看符号nm:不能反汇编如果你是想反汇编 Linux 内核某函数、分析崩溃栈或做安全研究,可以告诉我具体场景,我可以给你更精确的命令。