温馨提示×

ubuntu strings命令有哪些

小樊
49
2026-10-18 04:09:52
栏目: 智能运维

strings 是 Ubuntu / Linux 中一个常用的命令行工具,通常属于 binutils 软件包,用于从二进制文件、可执行文件、库文件或任意数据文件中提取可打印的字符串(通常是 ASCII 或 Unicode 文本)。

下面系统地介绍 strings 命令的常见用法和选项。


一、基本用法

strings 文件名

示例:

strings /bin/ls

输出文件中所有长度 ≥ 4 的可打印字符串。


二、常用选项详解

1. -n 指定最小字符串长度

strings -n 6 file

只显示长度 ≥ 6 的字符串(默认是 4)。


2. -a / --all 扫描整个文件

strings -a file

默认 strings 可能只扫描某些段(如 ELF 的数据段),-a 会扫描整个文件。


3. -f 显示文件名

strings -f file1 file2

输出格式:

file1: string1
file2: string2

适合多个文件对比。


4. -e 指定字符编码

strings -e l file   # 16-bit little endian
strings -e b file   # 16-bit big endian
strings -e s file   # 7-bit ASCII(默认)
strings -e S file   # 8-bit ASCII
strings -e U file   # UTF-8

常用于分析 Windows 或嵌入式二进制。


5. -t 显示字符串偏移量

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

示例:

strings -t x /bin/ls

输出:

1234 /lib64/ld-linux-x86-64.so.2

6. --encoding 指定编码(新版)

strings --encoding=s file
  • s:单字节
  • l:UTF-16LE
  • b:UTF-16BE
  • u:UTF-8

7. -T 指定文件类型(binutils 新版)

strings -T elf32-i386 file

一般很少用,主要用于交叉分析。


8. --help 和 --version

strings --help
strings --version

三、实用示例

1. 查看程序中硬编码的字符串

strings /usr/bin/python3 | grep error

2. 分析恶意程序

strings suspicious.bin | less

3. 提取图片中的文本

strings image.jpg

4. 查找版本信息

strings binary | grep -i version

5. 与 grep 联合分析

strings -n 8 file | grep -i password

四、常见问题

1. 命令不存在?

安装:

sudo apt update
sudo apt install binutils

2. strings 能提取中文吗?

可以,但需要使用 UTF-8 或 Unicode 编码选项:

strings -e U file

如果你愿意,我也可以:

  • 对比 strings 和 grep / xxd / hexdump
  • 讲 strings 在逆向分析中的实战用法
  • 或针对 某个具体文件类型(如 ELF、PE、固件)举例

只要告诉我你的使用场景即可。

0 踩