简单说:Linux 的 strings 不能“还原代码”,只能提取程序里可读的字符信息,对理解程序有帮助,但离“还原源码”差得很远。
strings 能做什么strings 的作用是:
从二进制文件(ELF / exe / so / 固件等)中,提取出连续的可见字符序列。
例如:
strings app.bin
可能看到:
Usage: app <file>
open failed
/main.c
/auth_check
password ok
这些信息可用于:
strings 不能做什么它不能:
原因:
strings 只扫描“文本段”,不解析指令strip)后信息更少如果你是想逆向工程,通常组合使用:
strings:找线索file:看文件类型nm / readelf:看符号(未 strip 时)objdump -d:汇编代码gdb:动态调试radare2 / ghidra / IDA:反汇编 + 伪代码例如:
objdump -d app | less
Ghidra 甚至可以生成类似 C 的伪代码,但仍然是“近似”,不是原始源码。
strings只是“看二进制里写了什么字”,
不是反编译器,不能还原代码逻辑。
如果你愿意,可以告诉我:
我可以给你更具体的命令和思路。