温馨提示×

Debian strings有什么用

小樊
41
2026-07-27 02:11:41
栏目: 智能运维

strings 是一个 Linux/Unix 下的命令行工具,在 Debian(以及大多数 Linux 发行版)中都可以直接使用。它的主要作用是:

从一个二进制文件(或任意文件)中提取出“可打印的字符串”


一、strings 是干什么的?

strings 会扫描文件内容,把其中 长度足够、连续可打印的字符序列 提取出来,通常用于:

  • 分析 二进制文件
  • 调试程序
  • 逆向工程
  • 排查系统问题
  • 查看程序里是否包含某些文本信息

二、常见用途

1️⃣ 查看程序里包含的文本

例如查看 /bin/ls 里有哪些字符串:

strings /bin/ls

你可能会看到:

  • 错误信息
  • 帮助文本
  • 文件路径
  • 函数名(部分)

2️⃣ 查找程序是否包含某个关键词

strings /usr/bin/xxx | grep password

用于快速判断程序里是否“硬编码”了某些敏感词(不推荐依赖,但常见于排查)。


3️⃣ 分析未知二进制文件

如果你拿到一个没有源码的程序:

strings unknown_binary

可以大致了解它的用途或依赖。


4️⃣ 查看动态库、ELF 文件信息

strings libxxx.so

常用于:

  • 查看库版本
  • 查看支持的功能字符串
  • 分析依赖关系

三、常用参数

-n 指定最小字符串长度

默认是 4,可修改:

strings -n 6 filename

-t 显示字符串偏移

strings -t x filename   # 十六进制
strings -t d filename   # 十进制

-e 指定字符编码

strings -e l filename   # 16-bit little-endian

四、strings 不能做什么?

不能反编译
不能还原源码
不能解密加密内容

它只能提取 “明文的、可打印字符”


五、strings 属于哪个包?

在 Debian 中,strings 通常来自:

binutils

查看是否安装:

dpkg -l binutils

六、简单总结

strings 用来 从二进制文件中提取可读文本
✅ 常用于 调试、分析、安全排查
✅ 是 binutils 工具集的一部分
✅ 输出的是 静态文本,不是程序逻辑


如果你愿意,我也可以:

  • 给你一个 实战示例
  • 对比 strings vs objdump
  • 讲它在 安全分析 / CTF 中的用法

0