在 CentOS 上做反汇编,常见有几种方式,取决于你想反汇编 什么文件、到什么层次。下面从最常用到进阶给你一个完整说明。
sudo yum install -y binutils gdb nasm objdump
如果你要做 ELF 分析 / 逆向工程,建议再装:
sudo yum install -y readelf strace ltrace
objdump 反汇编objdump -d test
.text)objdump -d -j .text test
objdump -S test
⚠️ 编译时要加
-g:
gcc -g -o test test.c
gdb 里反汇编(调试时最常用)gdb ./test
disassemble
disassemble main
disassemble 0x4005f0,0x400620
set disassembly-flavor intel
disassemble main
readelf -h test
readelf -S test
readelf -s test
objdump -b binary -m i386 -D test.bin
或(64 位):
objdump -b binary -m i386:x86-64 -D test.bin
gcc -S test.c
生成:
test.s
如果是 Intel 语法:
gcc -S -masm=intel test.c
file not recognizedfile test 先确认??file test
readelf -h test
objdump -d test | less
gdb ./test
可以再装:
sudo yum install -y radare2
然后:
r2 ./test
pd 20
如果你愿意,可以告诉我:
我可以直接给你一套 针对你场景的命令流程。