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。