在 Ubuntu(和其他 Linux 系统)中,strings 是一个命令行工具,用于从一个二进制文件、库或任意文件中提取可打印的字符串。它常用于:
下面从 安装 → 基本用法 → 常见示例 给你一个完整说明。
stringsstrings 会扫描文件,把长度大于等于某个阈值的连续可打印字符输出出来。
常见字符串包括:
strings 属于 binutils 软件包,Ubuntu 通常已预装。
strings --version
sudo apt update
sudo apt install binutils
strings 文件名
示例:
strings a.out
| 参数 | 说明 |
|---|---|
-n |
指定最小字符串长度(默认 4) |
-e |
指定字符编码 |
-t |
显示字符串在文件中的偏移 |
-f |
显示文件名 |
-a |
扫描整个文件(默认) |
strings test
strings -n 6 test
只显示长度 ≥ 6 的字符串。
strings -t x test
输出示例:
1f4 /lib64/ld-linux-x86-64.so.2
-t x:十六进制
-t d:十进制
-t o:八进制
strings file1 file2
或:
strings *.so
strings -f /bin/ls
strings libxxx.so | grep http
strings app | grep password
⚠️ 注意:只是辅助分析,不能保证安全。
strings image.jpg
strings data.bin
strings -e l # 16-bit little-endian
strings -e b # 16-bit big-endian
strings -e s # 7-bit ASCII
less 分页查看strings test | less
strings test > strings.txt
strings 不能解密或还原程序逻辑如果你愿意,可以告诉我:
我可以帮你给出更针对性的 strings 用法或脚本。