在 CentOS 上“快速反汇编”,通常指 反汇编可执行文件 / 共享库 / 内核模块 / 内存中的代码。下面按常用场景 + 工具给你一个速查式指南。
objdump 快速反汇编(推荐)objdump -d /bin/ls
objdump -S ./your_program
objdump -d ./a.out | grep -A 30 "<main>:"
objdump -M intel -d ./program
-M intel:使用 Intel 语法(默认是 AT&T)
gdb 边调试边反汇编(最实用)gdb ./program
disassemble
disassemble main
disassemble /m main
set disassembly-flavor intel
objdump 反汇编共享库objdump -d /lib64/libc.so.6 | less
查找某个函数:
objdump -T /lib64/libc.so.6 | grep printf
objdump -d your_module.ko
nm your_module.ko
gdb -p <pid>
然后:
info proc mappings
反汇编某段地址:
disassemble 0x7f1234567890 0x7f1234568000
radare2(黑客/逆向神器)yum install radare2
快速反汇编:
r2 ./program
aaa
pd 20
Ghidra / IDA(图形化)适合做大程序分析,不适合“快速看一下”。
| 目标 | 推荐方式 |
|---|---|
| 快速看一个函数 | `objdump -M intel -d ./a.out |
| 调试时看汇编 | gdb ./a.out + disassemble |
| 看系统库 | objdump -d /lib64/libc.so.6 |
| 逆向分析 | radare2 |
yum install binutils gdb
如果你愿意,可以告诉我:
我可以直接给你 一条命令搞定 的那种方案。