在 CentOS 下进行反汇编,通常依赖 binutils(提供 objdump)或 gdb(动态调试时反汇编)。下面按常见场景给你讲解。
sudo yum install binutils gdb -y
objdump -d test
-d:反汇编可执行代码段objdump -d test | grep -A 20 main
或更精确:
objdump -d test --section=.text | less
objdump -M intel -d test
objdump -d test.o
objdump -d /lib64/libc.so.6
gdb ./test
set disassembly-flavor intel
disassemble
disassemble main
disassemble 0x400526, 0x400550
break main
run
disassemble
objdump -b binary -m i386 -M intel -D shellcode.bin
sudo yum install nasm -y
ndisasm -b 32 shellcode.bin
gcc -g -o test test.c
objdump -M intel -S test
layout asm
stepi
| 场景 | 命令 |
|---|---|
| 静态反汇编 | objdump -d file |
| Intel 语法 | objdump -M intel -d file |
| GDB 反汇编 | disassemble |
| 原始二进制 | objdump -b binary -m i386 -D file |
如果你愿意,可以告诉我:
我可以直接给你一套针对你场景的反汇编流程。