你这个问题应该是在问 “CentOS 下反汇编用什么指令 / 怎么用”,我按常见情况给你讲清楚。
objdump(最常用)反汇编 ELF 文件的标准工具
objdump -d 程序名
常见参数:
objdump -d -M intel 程序名 # Intel 语法
objdump -d -M att 程序名 # AT&T 语法(默认)
objdump -S 程序名 # 源码+反汇编(需带 -g)
示例:
objdump -d -M intel ./a.out
gdb(调试 + 反汇编)适合 运行中或函数级反汇编
gdb ./a.out
进入 gdb 后:
disassemble main
disassemble 函数名
Intel 语法:
set disassembly-flavor intel
disassemble main
ndisasm(裸机器码反汇编)适合 shellcode / 二进制片段
ndisasm -b 32 file.bin
ndisasm -b 64 file.bin
安装:
yum install nasm
readelf(辅助分析)看段、符号、入口:
readelf -h 程序
readelf -S 程序
yum install binutils gdb nasm
objdump -d -M intel ./test
gdb ./test
(gdb) disassemble main
gdb ./prog core
(gdb) bt
(gdb) disassemble
man objdumpman gdb如果你愿意,可以告诉我:
我可以直接按你的目标一步步讲。