在 CentOS(或其他 Linux 发行版)上,“反汇编指令如何保存”通常指把反汇编结果保存到文件,常见做法如下。
objdump 是最常用的反汇编工具。
objdump -d ./test > test.asm
-d:反汇编可执行段> test.asm:重定向保存为文件objdump -d -j .text ./test > text.asm
objdump -S ./test > test_with_src.asm
objdump -d -M intel ./test > test_intel.asm
gdb ./test
(gdb) disassemble main
(gdb) set logging on
(gdb) set logging file asm.txt
(gdb) disassemble main
(gdb) set logging off
或者一次性:
gdb -batch -ex "disassemble main" ./test > main.asm
nm ./test > symbols.txt
readelf -S ./test > sections.txt
r2 -c "pdf @ main" ./test > main.asm
yum install binutils gdb
strip,反汇编仍可,但函数名会丢失如果你指的是**“反汇编指令本身(汇编代码)如何保存成可重汇编文件”**,可以告诉我具体场景(比如想改完再汇编回去),我可以给你更针对性的方案。