温馨提示×

能否批量运行centos反汇编

小樊
37
2026-09-21 10:51:47
栏目: 智能运维

可以,在 CentOS 上批量进行反汇编是完全可行的,常见做法取决于你“批量”的对象是什么。下面按常见场景给你几种方案。


一、批量反汇编多个可执行文件 / so 文件

1. 使用 objdump 批量处理

objdump 是 CentOS 自带的常用反汇编工具。

for f in /path/to/bin/*; do
    echo "=== $f ==="
    objdump -d "$f" > "$f.asm"
done

或者只反汇编 .text 段:

objdump -d -j .text file

2. 批量反汇编目录下所有 ELF 文件

find ./ -type f -exec file {} \; | grep "ELF" | awk -F: '{print $1}' | while read f; do
    objdump -d "$f" > "$f.disasm"
done

二、批量反汇编一个二进制中的多个函数

如果你知道函数名:

for func in func1 func2 func3; do
    objdump -d --disassemble=$func binary
done

三、使用 GDB 批量反汇编(适合调试场景)

gdb ./binary <<EOF
disassemble main
disassemble func1
quit
EOF

批量写法:

gdb -batch -ex "disassemble main" -ex "disassemble func1" ./binary

四、使用反汇编框架(更专业)

1. Radare2(推荐)

r2 -q -c "aaa; pdf @ main; pdf @ func1" binary

批量:

for f in *.elf; do
    r2 -q -c "aaa; e scr.color=0; pdf @ main" "$f" > "$f.rasm"
done

2. Ghidra(GUI / headless)

适合大规模二进制分析,支持脚本批量。


五、常见注意点(CentOS 环境)

  • 安装工具:
    yum install binutils gdb
    
  • 64 位程序注意架构:
    objdump -d -M intel binary   # Intel 语法
    
  • 如果是 stripped 文件,函数名会丢失,需要靠地址反汇编

六、你可以告诉我

  • 是 批量文件 还是 批量函数?
  • 是否用于 漏洞分析 / 逆向 / CTF / 性能分析?
  • 是否需要 自动化脚本 / 输出结构化结果(JSON / CSV)?

我可以给你写一个 可直接用的 CentOS 批量反汇编脚本。

0 踩