我有一张无法正确加载的16GB存储卡(要求重新格式化)。我正试图让它脱离它。
我已经运行dd
将内容转储到一个文件中,该文件非常出色。该文件将无法挂载和读取,因此内容在某种程度上已损坏。
在十六进制编辑器中打开转储显示那里有数据,通过查找jpeg开头和结尾的标记(FFD8和FFD9),我已经能够手动提取前3个jpeg
在我去写一些代码来流式传输文件之前,找到偏移并转储文件,有没有现成的方法呢?我用简单的谷歌搜索找不到任何东西,但不想解决以前必须多次解决的问题。
有没有人知道某些软件或一个不错的库(Python会很好,因为我熟悉这种语言,虽然有什么办法可以),这很容易让我提取jpeg,或者我最好只写一下自己编码?
答案 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)
有一个程序FTK
http://accessdata.com/products/computer-forensics/ftk
另外,它有趣的是像winhex这样的法医编辑 http://www.x-ways.net/winhex/index-e.html
在linux plataform上,有一些取证分发,带有一套完整的取证 工具 螺旋(必须搜索旧的免费版本) 坚 侦探套件
你必须添加图像文件,浏览器功能取决于文件类型
问候阿尔瓦罗
答案 4 :(得分:0)
您可以使用有效的照片恢复软件轻松恢复所有无法访问的jpeg图像。由于该软件可以通过先进而复杂的技术得到很好的掌舵,借助它可以恢复原始文件格式的所有数据。