Leer el contenido del archivo .thumbdata

No sé cómo me las arreglé para borrar todas mis fotos y, lamentablemente, me llevó unos días darme cuenta de que habían desaparecido. Intenté recuperarlos con DiskDigger, pero no tuve mucha suerte (la mayoría estaban dañados).

Encontré 2 archivos de más de 400 Mb llamados .thumbdataen la DCIM\.thumbnailscarpeta y me preguntaba si hay alguna manera de extraer datos/miniaturas de ellos.

Respuestas (1)

Contiene versiones de 96x96 píxeles de sus fotos. El archivo es simplemente una concatenación de archivos JPEG. Puede dividirlo en archivos JPG individuales buscando las firmas que indican el inicio y el final de un archivo JPG, es decir, los dos bytes FF D8para el inicio y FF D9el final. Si puede transferir el archivo a su computadora y puede acceder a Python, el siguiente código de Python extraerá los archivos (nombrar el archivo thumbdata3.dat):

#!/usr/bin/python

"""extract files from Android thumbdata3 file"""

f=open('thumbdata3.dat','rb')
tdata = f.read()
f.close()

ss = '\xff\xd8'
se = '\xff\xd9'

count = 0
start = 0
while True:
    x1 = tdata.find(ss,start)
    if x1 < 0:
        break
    x2 = tdata.find(se,x1)
    jpg = tdata[x1:x2+1]
    count += 1
    fname = 'extracted%d03.jpg' % (count)
    fw = open(fname,'wb')
    fw.write(jpg)
    fw.close()
    start = x2+2

El programa guardará los archivos con los nombres extractednnn.jpg, donde nnnes un número.

Tal vez alguien también sepa cómo extraer las imágenes de thumbdata5los archivos... este script da algunos resultados, pero están un poco rotos. (Y los archivos thumbdata son grandes, pero los archivos extraídos tienen un tamaño mucho menor).
@imz--IvanZakharyaschev: El archivo thumdata es un archivo disperso. Ábrelo con hexdump. Si bien el archivo es grande, no contiene muchas miniaturas.