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

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

前言

排查二进制文件时,可先用 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 相关产品和应用

全部下载

专题列表