从磁盘转储中提取jpeg

时间:2012-02-25 17:45:29

标签: hex jpeg data-retrieval data-recovery computer-forensics

我有一张无法正确加载的16GB存储卡(要求重新格式化)。我正试图让它脱离它。

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

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

在我去写一些代码来流式传输文件之前,找到偏移并转储文件,有没有现成的方法呢?我用简单的谷歌搜索找不到任何东西,但不想解决以前必须多次解决的问题。

有没有人知道某些软件或一个不错的库(Python会很好,因为我熟悉这种语言,虽然有什么办法可以),这很容易让我提取jpeg,或者我最好只写一下自己编码?

5 个答案:

答案 0 :(得分:6)

你想要一台计算机取证雕刻工具。

这个问题有两个明显的选择。第一个是开源photorec。第二个是商业工具Adroit Photo Forensics。我在很多场合都使用过这两种工具。 Adroit将恢复碎片化的文件并更好地消除误报,但它很昂贵。很可能你对photorec没问题。

答案 1 :(得分: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转储到目录{{中的单个文件中1}}然后cat *.jpg > ./test/data.txt并将脚本放入当前目录,然后运行脚本cd test,jpegs将跳转到当前文件夹中。

答案 2 :(得分:0)

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

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

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

希望这可以帮助任何有编程倾向的人,并尝试对所有内容进行编码,即使在不需要时也是如此!

答案 3 :(得分:0)

在Windows中

有一个程序FTK

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

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

在linux plataform上,有一些取证分发,带有一套完整的取证 工具   螺旋(必须搜索旧的免费版本)   坚   侦探套件

你必须添加图像文件,浏览器功能取决于文件类型

问候阿尔瓦罗

答案 4 :(得分:0)

您可以使用有效的照片恢复软件轻松恢复所有无法访问的jpeg图像。由于该软件可以通过先进而复杂的技术得到很好的掌舵,借助它可以恢复原始文件格式的所有数据。

阅读详情:http://www.jpeg-recovery.org/undelete-lost-pct-images-after-cf-showing-memory-card-parameter-error-message