从磁盘转储中提取 jpeg
Posted
技术标签:
【中文标题】从磁盘转储中提取 jpeg【英文标题】:Extracting jpegs from a disk dump 【发布时间】:2012-03-15 19:48:25 【问题描述】:我从某人那里得到了一张 16GB 的存储卡,无法正常加载(要求重新格式化)。我正在尝试删除 jpeg。
我已经运行dd
将内容转储到文件中,效果非常好。该文件不会挂载和读取,因此内容在某种程度上已损坏。
在十六进制编辑器中打开转储显示那里有数据,通过查找 jpeg 开始和结束的标记(FFD8 和 FFD9),我已经能够手动提取前 3 个 jpeg .
在我编写一些代码来流式传输文件、找到偏移量并转储文件之前,有没有现有的方法可以做到这一点?我用简单的谷歌搜索找不到任何东西,但不想解决以前必须解决很多次的问题。
有没有人知道一些软件或一个像样的库(Python 会很好,因为我熟悉该语言,尽管任何事情都可以)可以轻松地让我提取 jpeg,或者我最好只编写自己编码?
【问题讨论】:
【参考方案1】:你想要一个计算机取证雕刻工具。
对于这个问题有两个明显的选择。第一个是开源的photorec。第二个是商业工具Adroit Photo Forensics。我在很多场合都使用过这两种工具。 Adroit 将恢复碎片化的文件,并在消除误报方面做得更好,但价格昂贵。 photorec 很可能你会没事的。
【讨论】:
Photorec 很棒 - jpeg 提取器不是很好,而且我自己的代码太天真和糟糕 - 这太棒了!希望能找回所有的照片,目前看起来不错! 顺便说一句,对于以后发现这个问题的人来说,对卡使用 photorec 估计需要 2 小时,而对使用 dd 制作的副本运行它只需 20 分钟。 如果其他人正在阅读本文并且 PhotoRec 给您带来问题,也请尝试 Scalpel 或 Foremost。两者都可以通过 apt-get 在 Ubuntu 中安装。 不要使用最重要的。它没有维护。 Scalpel 是一个误报生成器。我们审查了各种程序,发现 PhotoRec 完成了其他程序所做的一切,并且误报率更低。【参考方案2】:这是我使用 python 编写的一个程序,它读取一个包含图像数据的文件并将其分成单独的文件。
import hashlib
inputfile = 'data.txt'
marker = chr(0xFF)+chr(0xD8)
# Input data
imagedump = file(inputfile, "rb").read()
imagedump = imagedump.split(marker)
count=0
for photo in imagedump:
name = hashlib.sha256(photo).hexdigest()[0:16]+".jpg"
file(name, "wb").write(marker+photo)
count=count+1
print count
脚本用它们的 sha256 摘要命名找到的图像,它找到的所有照片都将转储到当前目录中。
您可以通过以下方式测试脚本以查看它是否正常工作:输入 cd ~/images/
然后创建文件夹 mkdir test
然后将一些 jpeg 转储到目录 cat *.jpg > ./test/data.txt
中的单个文件中然后 @987654325 @并将脚本放入当前目录,然后运行脚本python extract.py
,jpegs就会跳转到当前文件夹中。
【讨论】:
工作并输出我期望找到的所有图像,但似乎也输出了一些实际上不是 jpeg 的额外文件。【参考方案3】:好吧,经过大量搜索,我找到了这个:
http://www.digiater.nl/openvms/decus/vmslt02a/net/jpeg-extractor.html
它在 16GB 卡上发现了很多垃圾,我猜当你有那么多字节时,出现 FFD8 和 FFD9 的概率很高。到目前为止,它已经找到了 50,000 张图像,但其中许多只是巧合的 jpeg,而不是图像。
希望这可以帮助任何有编程倾向并尝试编写所有代码的人,即使在不需要时!
【讨论】:
【参考方案4】:在windows中有一个程序FTK
http://accessdata.com/products/computer-forensics/ftk
另外,像 winhex 这样的取证编辑器很有趣 http://www.x-ways.net/winhex/index-e.html
在linux平台上,有一些forensic的发行版,有一套完整的forensic 工具 helix(必须搜索旧的免费版本) 坚 侦探套件
你必须添加图片文件,根据文件类型有浏览器功能
问候阿尔瓦罗
【讨论】:
【参考方案5】:您可以使用有效的照片恢复软件轻松恢复所有无法访问的 jpeg 图像。由于该软件配备了先进和复杂的技术,因此它可以恢复原始文件格式的所有数据。
阅读更多:http://www.jpeg-recovery.org/undelete-lost-pct-images-after-cf-showing-memory-card-parameter-error-message
【讨论】:
以上是关于从磁盘转储中提取 jpeg的主要内容,如果未能解决你的问题,请参考以下文章