温馨提示×

centos怎么查看反汇编

小樊
62
2026-09-12 01:53:14
栏目: 智能运维

在 CentOS 上查看反汇编(disassembly)通常有以下几种常用方式,取决于你是要看可执行文件、正在运行的进程,还是内核/模块。


一、使用 objdump(最常用,静态反汇编)

1. 反汇编整个可执行文件

objdump -d /path/to/binary

2. 反汇编并显示源码(需要有 -g 编译)

objdump -S /path/to/binary

3. 只看某个函数

objdump -d /path/to/binary | grep -A 50 '<main>:'

或者:

objdump -d --start-address=0x401000 --stop-address=0x401100 /path/to/binary

二、使用 gdb(动态 + 反汇编)

1. 启动 gdb

gdb /path/to/binary

2. 查看函数反汇编

disassemble main

3. 查看当前执行位置

disassemble

4. 显示汇编 + 源码

layout asm
layout split

三、查看运行中进程的反汇编

1. 附加进程

gdb -p <pid>

2. 查看当前函数

disassemble

四、内核 / 模块反汇编(高级)

1. 查看内核函数

cat /proc/kallsyms | grep func_name

2. 使用 objdump 分析 vmlinux

objdump -d vmlinux | less

五、常用辅助工具

1. nm(查看符号)

nm /path/to/binary

2. file(确认架构)

file /path/to/binary

3. readelf(ELF 信息)

readelf -h /path/to/binary

六、如果没有这些工具(CentOS 最小化安装)

yum install -y binutils gdb

总结

场景 推荐工具
静态反汇编 objdump -d
动态调试 gdb
运行中进程 gdb -p
内核 objdump vmlinux

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

  • 是 用户程序 / 内核 / 病毒分析?
  • 是 x86 / x86_64 / ARM?
  • 想看 某函数 / 某地址 / 某崩溃点?

我可以给你更精确的命令。

0 踩