Linux 的 strings
命令是一个强大的工具,用于从二进制文件中提取可打印的字符串。它支持多种文件格式,主要包括以下几类:
/bin/ls
).exe
、.dll
,需在 Linux 下解析).o
文件).so
文件)core
或 core.*
)vmcore
或 crash dump
)firmware.bin
).db
文件)journalctl
输出)disk.img
)pcap
文件中的字符串数据)-e
选项)-e
指定编码(如 -e l
为 16 位小端 Unicode)。strings
不依赖文件扩展名,而是直接扫描二进制内容,因此即使文件无扩展名也能解析。# 基本用法(提取至少4个字符的ASCII字符串)
strings -n 4 filename.bin
# 指定Unicode编码(16位小端)
strings -e l filename.exe
# 结合grep过滤结果
strings libexample.so | grep "API_VERSION"
# 分析核心转储文件
strings core.1234 | grep -i "error"
如果需要更精确的文件格式解析,可结合 file
命令预先检查类型(如 file filename.bin
),再使用 strings
。