从磁盘转储中提取jpegs



我从某人那里得到了一张16GB的存储卡,但无法正确加载(要求重新格式化)。我正试图摆脱它。

我运行了dd将内容转储到一个文件中,效果非常好。该文件无法装载和读取,因此内容在某种程度上已损坏。

在十六进制编辑器中打开转储显示上面有数据,通过查找jpeg的开始和结束标记(FFD8和FFD9),我已经能够手动提取前3个jpeg。

在我去写一些代码来流式传输文件、找到偏移量并转储文件之前,有什么现有的方法可以做到这一点吗?我用简单的谷歌搜索找不到任何东西,但我不想解决以前必须解决过很多次的问题。

有人知道一些软件或一个不错的库(Python会很好,因为我熟悉这种语言,尽管任何东西都可以)可以让我轻松地提取jpegs吗?还是我最好自己写代码?

您想要一个计算机取证雕刻工具。

这个问题有两个明显的选择。第一个是开放源代码的photorc。第二个是商业工具Adroit Photo Forensics。这两种工具我都用过很多次。Adroit将恢复碎片化的文件,并能更好地消除误报,但成本高昂。很可能你会很好的照片。

这是我使用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,然后将一些jpegs转储到目录cat *.jpg > ./test/data.txtcd test中的单个文件中,并将脚本放入当前目录,然后运行脚本python extract.py,jpegs将跳到当前文件夹中。

经过多次搜索,我发现了这个:

http://www.digiater.nl/openvms/decus/vmslt02a/net/jpeg-extractor.html

它在16GB的卡上发现了很多垃圾,我想当你有那么多字节时,FFD8和FFD9出现的概率很高。到目前为止,它已经发现了50000张图像,但其中许多只是巧合的jpegs,而不是图像。

希望这能帮助其他有编程倾向的人,即使在不需要的时候,也能尝试对所有东西进行编码!

在windows中有一个程序FTK

http://accessdata.com/products/computer-forensics/ftk

此外,像winhex这样的法医编辑也很有趣http://www.x-ways.net/winhex/index-e.html

在linux平台上,有一些带有完整取证集的取证分发版工具helix(必须搜索旧的免费版本)卡因侦探工具包

你必须添加图像文件,根据文件类型有浏览器功能

问候alvaro

使用有效的照片恢复软件,您可以轻松恢复所有可访问的jpeg图像。由于该软件掌握了先进和复杂的技术,借助这些技术,它可以将所有数据恢复为原始文件格式。

更多信息,请访问:http://www.jpeg-recovery.org/undelete-lost-pct-images-after-cf-showing-memory-card-parameter-error-message

最新更新