温馨提示×

centos反汇编指令咋使用

小樊
42
2026-10-17 19:36:39
栏目: 智能运维

在 CentOS 下进行反汇编,通常依赖 binutils(提供 objdump)或 gdb(动态调试时反汇编)。下面按常见场景给你讲解。


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

1. 安装必要工具

sudo yum install binutils gdb -y

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

objdump -d test
  • -d:反汇编可执行代码段
  • 输出为 AT&T 语法(CentOS 默认)

3. 反汇编指定函数

objdump -d test | grep -A 20 main

或更精确:

objdump -d test --section=.text | less

4. Intel 语法(更直观)

objdump -M intel -d test

二、反汇编目标文件 / 库

反汇编 .o 文件

objdump -d test.o

反汇编动态库

objdump -d /lib64/libc.so.6

三、使用 gdb 动态反汇编

1. 启动 gdb

gdb ./test

2. 设置 Intel 语法(可选)

set disassembly-flavor intel

3. 反汇编当前函数

disassemble

4. 反汇编指定函数

disassemble main

5. 反汇编指定地址

disassemble 0x400526, 0x400550

6. 运行到某处再反汇编

break main
run
disassemble

四、反汇编 Shellcode / 原始二进制

使用 objdump

objdump -b binary -m i386 -M intel -D shellcode.bin

使用 ndisasm(需安装)

sudo yum install nasm -y
ndisasm -b 32 shellcode.bin

五、常见组合示例

查看 main 函数汇编 + 源码

gcc -g -o test test.c
objdump -M intel -S test

GDB 中单步看汇编

layout asm
stepi

六、总结速查表

场景 命令
静态反汇编 objdump -d file
Intel 语法 objdump -M intel -d file
GDB 反汇编 disassemble
原始二进制 objdump -b binary -m i386 -D file

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

  • 是 C 程序 / 病毒分析 / 内核 / Shellcode
  • 想要 AT&T 还是 Intel 语法
  • 是否配合 gdb 调试

我可以直接给你一套针对你场景的反汇编流程。

0 踩