温馨提示×

Ubuntu Strings有什么用

小樊
42
2026-08-20 07:39:24
栏目: 智能运维

在 Ubuntu(以及大多数 Linux 系统)中,strings 是一个命令行工具,主要用途是:

从一个二进制文件(或其他非文本文件)中提取可打印的字符串。


一、strings 是干什么的?

strings 会扫描文件内容,把其中连续的可打印字符序列找出来并显示出来。

这些“字符串”通常是:

  • 程序中嵌入的提示信息
  • 错误信息
  • 函数名、变量名
  • 路径、URL
  • 调试信息
  • 版权信息
  • 有时甚至是密码或敏感信息(明文)

二、常见使用场景

1️⃣ 分析二进制程序(非常常见)

strings /bin/ls

你可以看到 ls 命令中嵌入的字符串,比如:

  • 错误信息
  • 支持的文件类型
  • 作者信息

2️⃣ 查看程序里有没有“硬编码”的敏感信息

strings my_program | grep password

如果程序员把密码写死在代码里,这里可能直接暴露出来。


3️⃣ 判断未知文件类型

strings unknown_file

如果看到大量可读文本,可能说明:

  • 这是一个程序
  • 或包含调试信息
  • 或其实是个文本文件

4️⃣ 逆向工程 / 安全分析

安全研究人员常用 strings

  • 快速了解程序功能
  • 查找可疑 URL、IP
  • 分析恶意软件行为
strings suspicious_binary

5️⃣ 查看库文件或驱动中的信息

strings /lib/x86_64-linux-gnu/libc.so.6

三、常用参数

基本用法

strings 文件名

指定最小字符串长度(默认是 4)

strings -n 6 文件名

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

strings -t x 文件名   # 十六进制
strings -t d 文件名   # 十进制

从标准输入读取

cat file | strings

四、注意事项(很重要)

⚠️ strings 不是反汇编器

  • 不会解释代码
  • 只是“暴力提取”可打印字符
  • 不能替代 objdumpgdbradare2

⚠️ 可能看到“垃圾信息”

  • 随机字节也可能被误识别为字符串

五、安装情况

在 Ubuntu 中,strings 通常已经安装,属于 binutils

sudo apt install binutils

六、一句话总结

strings 用来从二进制文件中提取“人类可读的字符串”,常用于程序分析、调试、安全审计和逆向工程。

如果你愿意,我也可以给你一个真实例子,比如用 strings 分析一个程序并找出隐藏信息。

0