温馨提示×

debian strings命令参数详解

小樊
52
2026-10-04 03:06:14
栏目: 智能运维

strings 是 GNU binutils 中的工具,用于从二进制文件、数据文件或内存转储中提取可打印字符串(通常是 ASCII/Unicode 文本)。在 Debian/Ubuntu 上由 binutils 提供。

下面按常用程度详细讲解参数。


一、基本用法

strings file

从 file 中提取长度 ≥ 4 的可打印字符串。


二、常用参数详解

1. -n / --bytes=min-len

最短字符串长度

strings -n 6 file

只显示长度 ≥ 6 的字符串。


2. -e / --encoding

字符编码

参数 含义
-e s 7-bit ASCII(默认)
-e S 8-bit ASCII
-e b 16-bit Big Endian
-e l 16-bit Little Endian
-e B 32-bit Big Endian
-e L 32-bit Little Endian

示例(提取 UTF-16 LE 字符串):

strings -e l file.exe

3. -f / --print-file-name

显示文件名

strings -f *.bin

输出格式:

file1.bin: string1
file2.bin: string2

4. -a / --all

扫描整个文件(默认行为)

strings -a file

(老版本中用于强制扫描全部内容)


5. -t / --radix

显示字符串偏移地址

参数 进制
-t o 八进制
-t d 十进制
-t x 十六进制
strings -t x file

输出示例:

1a2f /lib/ld-linux.so.2

6. -T / --target

指定目标文件格式

strings -T elf32-i386 file

一般自动识别,少见使用。


7. - (标准输入)

cat file | strings

三、进阶参数

8. --help

显示帮助

strings --help

9. -V / --version

查看版本

strings -V

四、实战示例

1️⃣ 提取 ELF 中的路径和函数名

strings /bin/ls | grep "/"

2️⃣ 分析 Windows 程序(Unicode)

strings -e l program.exe

3️⃣ 定位字符串在文件中的位置

strings -t x -n 8 binary | grep "password"

4️⃣ 批量扫描目录

strings -f /usr/bin/* | grep "error"

五、与 grep 搭配技巧

strings file | grep -i "version"
strings file | grep -E "http|ftp"

六、常见用途总结

✅ 逆向分析
✅ 取证分析
✅ 查看硬编码密码/路径
✅ 分析无符号二进制
✅ 快速了解程序功能


如果你愿意,我也可以:

  • 对比 strings vs rabin2 / objdump
  • 讲 CTF / 逆向实战用法
  • 写 shell 自动提取脚本

直接告诉我你的使用场景即可。

0 踩