温馨提示×

linux strings能提取图片吗

小樊
35
2026-09-17 15:38:55
栏目: 智能运维

简短回答:不能直接用 strings 提取图片本身,但可以从某些图片文件中“提取”出里面包含的可打印字符串(包括可能的文本、路径、元数据等)。

下面详细说一下:


1. strings 是干什么的

strings 命令的作用是:

从一个二进制文件中,提取出可打印的字符序列(默认长度 ≥ 4)

它并不理解文件格式,只是“扫字节”。

strings image.jpg

2. 对图片文件用 strings 会发生什么

✅ 可以提取到的内容

  • EXIF 中的文本信息
    • 相机型号
    • 拍摄时间
    • 软件名(如 Photoshop)
  • 文件路径(如果图片被嵌入或处理过)
  • 图片里硬编码的文本(如某些 PNG 中带的注释)
  • 如果是 图片+附加数据(如 stego、 appended data),可能看到隐藏内容

示例:

strings photo.jpg | less

你可能看到:

Apple
iPhone 13
2023:08:01 12:34:56
Adobe Photoshop 2023

❌ 不能做到的事情

  • ❌ 提取像素内容
  • ❌ 还原成图片
  • ❌ 识别图像中的文字(那是 OCR,不是 strings)
  • ❌ 自动分离图片和附加数据

3. 常见相关用法(图片分析场景)

查看图片中是否藏了数据

strings image.png | grep -i "http"
strings image.jpg | less

检查图片后面是否追加了文件

binwalk image.jpg

提取图片后的附加数据

foremost image.jpg
# 或
dd if=image.jpg of=out.bin bs=1 skip=XXXX

图片里文字识别(OCR)

tesseract image.png output

4. 总结一句话

strings 不是图片提取工具,而是“文本扫描器”
对图片:能看“里面写了什么”,不能看“画了什么”

如果你是想:

  • 提取隐藏文件
  • 分析 CTF 图片
  • 做取证
  • OCR 图片文字

可以告诉我具体场景,我给你更针对性的命令。

0