如何用 strings 命令提取特定字符串

苏见山
苏见山
发布时间:2026-08-24| 179人浏览过
原创

前言

排查二进制文件时,可先用 strings 提取可打印字符串,再用 grep 定位目标文本;若需标出匹配在提取结果中的序号,可追加 grep -n 与 awk。

为什么排查二进制文件时常用 strings

strings 用于从二进制文件提取连续可打印字符,适合先排查关键词、URL、路径、配置项等文本痕迹;常与 grep 配合,前者提取,后者筛选。

先用 strings 配合 grep 查找目标字符串

确认某字符串是否存在时,直接执行:

用流程方式展示 strings 提取可打印字符串,再由 grep 过滤关键词的命令处理链路
`strings | grep` 的基础排查先提取,再过滤,是 `strings` 排查二进制文本最常见的基础用法。
strings binary_file | grep "specific_string"

binary_file 为目标文件,specific_string 为待查文本。结果会输出所有匹配行。

需要位置信息时,如何追加匹配序号

如需标出匹配在提取结果中的序号,可用:

展示 grep -n 与 awk 如何把匹配结果整理为序号加内容的输出格式
`grep -n` 与 `awk` 的结果整在匹配结果较多时,给结果补上序号,后续回查会更高效。
strings binary_file | grep -n "specific_string" | awk -F ":" '{print $1, $2}'
  • grep -n 为匹配结果加行号;
  • awk -F ":" '{print $1, $2}' 输出行号和对应字符串。

这里得到的是提取结果中的行号,不是二进制字节偏移量。

这类方法适合哪些场景

  • 检查程序是否包含某个关键词;
  • 查找隐藏路径、域名、接口地址或配置信息;
  • 逆向分析、安全审计、故障定位中的文本线索收集。

快速上手时可以怎么选

只查是否存在,用:

strings binary_file | grep "specific_string"

还要便于回查,用:

strings binary_file | grep -n "specific_string" | awk -F ":" '{print $1, $2}'

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。