在 Linux 下,strings 是一个常用命令,用来从一个二进制文件(或任意文件)中提取出可打印的字符串(通常是连续的 ASCII / Unicode 字符)。它本身不解析文件结构,只是“扫字符”。
/etc/passwd
/var/log/app.log
debug=true
max_connections=100
Failed to open file
Segmentation fault
main
printf
do_work
GCC: (Ubuntu 9.4.0)
build on 2024-01-01
/home/user/project/src/main.c
HTTP/1.1
TLSv1.2
虽然不是主要用途,但能看到:
PK(zip)
%PDF(pdf)
ELF(可执行文件)
❌ 不解析结构
❌ 加密 / 压缩内容无效
❌ 已 strip 的二进制
strings binary_file
strings -n 8 binary_file
strings -t x binary_file # 十六进制
strings -t d binary_file # 十进制
strings binary | grep -i password
strings malware.bin | less
✅ 逆向分析初步侦察
✅ 安全审计(找硬编码密钥)
✅ 确认二进制来源 / 编译器
✅ CTF / 取证分析
✅ 快速判断未知文件类型
如果你愿意,可以告诉我:
我可以给你更针对性的用法。