温馨提示×

linux strings能查隐藏文本吗

小樊
39
2026-10-08 09:12:32
栏目: 智能运维

简单回答:strings 本身不能“发现刻意隐藏”的文本,但能提取文件中以可打印字符形式存在的文本。是否“能查到”,取决于“隐藏”是怎么做的。

下面分情况说明:


一、strings 能查到的情况(伪隐藏)

如果所谓“隐藏文本”只是:

  • 写在文件注释里
  • 放在二进制文件的常量区
  • 藏在图片/压缩包/ELF/脚本的明文区域
  • 没有加密、没有编码、只是肉眼不容易看到

✅ 这些情况 strings 通常能查到

例子:

strings example.bin | grep password
strings image.jpg | less

二、strings 查不到的情况(真隐藏)

以下情况 strings 基本无效:

1️⃣ 加密文本

U2FsdGVkX1+21J9...

→ ciphertext(密文)不是可打印字符串

2️⃣ 编码但非明文字符串

  • Base64(有时能搜到,但内容不可读)
  • Hex
  • Unicode 反转 / 零宽字符

3️⃣ 隐写(Steganography)

  • 数据藏在:
    • LSB(最低有效位)
    • 文件尾部无意义区
    • 音频/视频采样中

→ strings 通常看不到

4️⃣ 运行时解密

  • 程序启动后才在内存中还原字符串
  • 文件中不存在明文

→ 要用:

gdb
ltrace
strace
内存 dump

三、实用排查建议

如果你怀疑有“隐藏文本”:

strings -n 6 file | less
strings -e l file   # 16-bit little endian
strings -e b file   # 16-bit big endian

配合:

binwalk file
exiftool file
foremost file

总结一句话

strings 能查“没真藏起来的文本”,查不了“加密、编码、隐写、运行时生成的文本”。

如果你愿意,可以告诉我:

  • 文件类型(jpg / elf / docx / py / bin?)
  • 你怀疑的“隐藏方式”

我可以给你更精准的命令。

0 踩