温馨提示×

怎么使用Ubuntu Strings

小樊
49
2026-08-31 06:30:37
栏目: 智能运维

在 Ubuntu(和其他 Linux 系统)中,strings 是一个命令行工具,用于从一个二进制文件、库或任意文件中提取可打印的字符串。它常用于:

  • 分析可执行文件
  • 查看程序中是否包含敏感信息(如路径、URL、密码提示)
  • 逆向工程 / 调试
  • 取证分析

下面从 安装 → 基本用法 → 常见示例 给你一个完整说明。


一、什么是 strings

strings 会扫描文件,把长度大于等于某个阈值的连续可打印字符输出出来。

常见字符串包括:

  • 错误信息
  • 调试信息
  • 路径
  • URL
  • 硬编码的文本

二、安装 strings(Ubuntu)

strings 属于 binutils 软件包,Ubuntu 通常已预装。

检查是否已安装

strings --version

如果未安装

sudo apt update
sudo apt install binutils

三、基本用法

最简单用法

strings 文件名

示例:

strings a.out

四、常用参数说明

参数 说明
-n 指定最小字符串长度(默认 4)
-e 指定字符编码
-t 显示字符串在文件中的偏移
-f 显示文件名
-a 扫描整个文件(默认)

五、常见使用示例

1️⃣ 从可执行文件中提取字符串

strings test

2️⃣ 指定最小字符串长度

strings -n 6 test

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


3️⃣ 显示字符串在文件中的偏移

strings -t x test

输出示例:

1f4 /lib64/ld-linux-x86-64.so.2

-t x:十六进制
-t d:十进制
-t o:八进制


4️⃣ 同时查看多个文件

strings file1 file2

或:

strings *.so

5️⃣ 显示文件名

strings -f /bin/ls

6️⃣ 从库中查找 URL 或路径

strings libxxx.so | grep http
strings app | grep password

⚠️ 注意:只是辅助分析,不能保证安全。


7️⃣ 从非 ELF 文件提取字符串

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

八、实际应用场景

  • ✅ 软件逆向分析
  • ✅ 查看程序是否包含调试信息
  • ✅ 安全审计
  • ✅ CTF 题解
  • ✅ 取证分析

九、注意事项

  • strings 不能解密或还原程序逻辑
  • 输出结果可能包含大量无意义文本
  • 不能用于加密数据还原

如果你愿意,可以告诉我:

  • 你是做 CTF / 逆向 / 安全审计 / 普通调试?
  • 是否想分析 某个具体文件?

我可以帮你给出更针对性的 strings 用法或脚本。

0 踩