5

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

我跑去dd将内容转储到一个文件中,效果很好。该文件不会挂载和读取,因此内容在某种程度上已损坏。

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

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

有谁知道一些软件或一个像样的库(Python 会很好,因为我熟悉该语言,尽管任何事情都可以)可以轻松地让我提取 jpeg,还是我自己编写代码更好?

4

5 回答 5

6

You want a computer forensics carving tool.

There are two obvious choices for this problem. The first is the open source photorec. The second is the commercial tool Adroit Photo Forensics. I've used both tools on many occasions. Adroit will recover files that are fragmented and does a better job eliminating false positives, but it is pricy. In all likelihood you'll be fine with photorec.

于 2012-02-26T17:27:05.357 回答
3

这是我使用 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.txt然后cd test将脚本放入当前目录,然后运行脚本python extract.py并jpeg 将在当前文件夹中跳转。

于 2013-10-20T22:20:57.487 回答
0

好吧,经过大量搜索,我发现了这个:

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

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

希望这可以帮助任何有编程倾向的人,并尝试编写所有代码,即使在不需要的时候!

于 2012-02-25T18:09:48.953 回答
0

在windows中有一个程序FTK

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

此外,它是一个有趣的取证编辑器,如 winhex http://www.x-ways.net/winhex/index-e.html

在 linux 平台上,有一些取证发行版带有一套完整的取证工具 helix(必须搜索旧的免费版本)caine sleuth kit

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

问候阿尔瓦罗

于 2012-03-02T07:25:58.780 回答
0

您可以使用有效的照片恢复软件轻松恢复所有无法访问的 jpeg 图像。由于该软件具有先进和复杂的技术,因此它可以恢复原始文件格式的所有数据。

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

于 2013-05-03T06:16:15.757 回答