温馨提示×

strings能做什么用

小樊
46
2026-08-17 11:16:08
栏目: 编程语言

strings 在不同语境下含义不同,最常见的有 Linux/Unix 命令 strings编程语言中的字符串(strings),以及 Windows 中的 Strings 工具。下面分别说明它们能做什么。


一、Linux / Unix 命令 strings

作用

二进制文件、可执行文件、核心转储、库文件中提取可打印的字符串

常见用途

  1. 分析程序内容

    • 查看程序里包含的提示信息、路径、URL、版本号等。
    strings a.out
    
  2. 逆向工程 / 安全分析

    • 查找硬编码的:
      • IP / 域名
      • 文件路径
      • 密码、密钥(如果明文存在)
      • 函数名、调试信息
  3. 排查问题

    • 程序崩溃后,从 core dump 里找线索:
    strings core
    
  4. 取证分析

    • 从可疑文件中提取可读文本信息。

常用参数

strings -n 8 file      # 至少 8 个连续可打印字符
strings -t x file      # 显示字符串偏移(十六进制)
strings -e l file      # 指定编码(如 UTF-16)

二、编程语言中的“strings”(字符串)

如果你指的是**字符串(string)**这种数据类型:

能做什么

  • 存储和处理文本
  • 拼接、分割、查找、替换
  • 表示用户输入、文件内容、网络数据
  • 作为标识符、配置项、日志信息

示例

s = "hello"
s2 = s.upper()        # 转大写
s3 = s.replace("h", "H")
char *s = "hello";

三、Windows Sysinternals 的 Strings 工具

用途

和 Linux 的 strings 类似,用于:

  • 从 Windows 程序(.exe.dll)中提取字符串
  • 安全分析、恶意软件分析
strings.exe program.exe

四、一句话总结

  • 命令 strings:从二进制文件中“挖”出可读文本,常用于分析、调试、安全、取证。
  • 字符串(strings):程序里最基础的数据类型之一,用来处理文本。

如果你指的是某一种具体场景(比如逆向、CTF、编程、Windows 工具),可以告诉我,我可以更详细地讲。

0