Que formato de arquivo / formato de banco de dados o Picasa usa?

10

Estou tentando descobrir qual formato de arquivo são os arquivos .db e .pmp. Tentei usar o db_dump (Berkeley DB) para os arquivos .db, mas parece que eles não são o Berkeley DB ou de uma versão mais antiga. Não tenho idéia do que são os arquivos .PMP.

Directory of C:\Users\me\AppData\Local\Google\Picasa2\db3
 6/09/2010  08:07 PM           303,748 imagedata_uid64.pmp
 1/18/2010  10:34 PM             4,885 imagedata_unification_lhlist.pmp
 6/09/2010  10:55 PM           155,752 imagedata_width.pmp
 6/09/2010  10:55 PM     1,286,346,614 previews_0.db
 6/10/2010  10:06 AM           467,168 previews_index.db

Qualquer ajuda apreciada.

Raymond
fonte

Respostas:

5

.PMPé um formato proprietário do Picasa, usado para armazenar informações sobre imagens. ( Referência )

(Observação: a postagem do blog abaixo referenciada é datada, não sei se é relevante / correta para a versão atual do Picasa)

Mais informações:

no diretório db2, há vários arquivos. Os arquivos importantes para isso são albumdata_token.pmp, albumdata_uid.pmpe albumdata_name.pmp

Aqui está o conteúdo dos arquivos:

albumdata_name.pmp -

esse é o nome dos álbuns no picasa. Os dois primeiros são padrões e não estão incluídos em nenhum dos outros arquivos.

Starred Photos

Screensaver 

root

modified_for_tags

sam3 

Sample Pictures 

Sammy

albumdata_uid.pmp - Aqui é onde estão os hashes.

b131d7e17dfdff73eb0340b4e9d3d6f3

8e92a45a6abed421488a5774ec3f4a4c 

ca05c73419475ade037f8df528849c91

ec9771e026e3ce55c468354abcfce4ee

c332f1814ff6d4f21dbb41b41149544d

albumdata_token.pmp

A seguir, vemos o uid aplicado para criar um token para os álbuns. Observe que "estrela" e "protetor de tela" não possuem uids.

]star

]screensaver

]album:b131d7e17dfdff73eb0340b4e9d3d6f3

]album:8e92a45a6abed421488a5774ec3f4a4c

]album:ca05c73419475ade037f8df528849c91

]album:ec9771e026e3ce55c468354abcfce4ee

]album:c332f1814ff6d4f21dbb41b41149544d 

Agora, se observarmos o lastalbumselectedvalor no registro, podemos emparelhá-lo com o hash, pois todos esses arquivos estão listados na mesma ordem. Se você excluir star e screensavervocê pode ver que o lastalbumselectedpara mim era sam3.

Você pode dar um passo adiante se incluir albumdata_filename.pmp. Este arquivo também corresponde aos outros arquivos, exceto que eu esqueci de mencionar uma coisa. "raiz" é literalmente a raiz da unidade lógica que o picasa pesquisou (neste caso, C :), portanto, é excluída albumdata_filename.pmp. Este arquivo contém o caminho para o local em que as imagens estão armazenadas.

Outros arquivos para prestar atenção:

bigthumbs.db 

thumbs2.db

thumbs.db

previews.db

Todos eles seguem a boa thumbs.dbestrutura antiga e contêm miniaturas de todas as imagens em várias resoluções, pois o picasa pode enviar arquivos diretamente para empresas de processamento de fotos.

Outra coisa que é de vital importância em termos de provar que alguém criou um álbum e que o programa não apenas indexou algo.

No Picasa2Albumsdiretório, você verá um arquivo para cada um dos álbuns criados pelo usuário na pasta usando o DBID como seu nome. Abaixo estão os conteúdos do álbum que eu criei armazenados em um arquivo chamado {c332f1814ff6d4f21dbb41b41149544d.pal.

'picasa2album>

'dbid>0164eaeacdd4046f5c1e44522fe44527

'albumid>c332f1814ff6d4f21dbb41b41149544d

'property name="uid" type="string" value="c332f1814ff6d4f21dbb41b41149544d">

'property name="category" type="num" value="0"> 

'property name="date" type="real64" value="39272.630035"

'property name="token" type="string" value="]album:c332f1814ff6d4f21dbb41b41149544d"

'property name="name" type="string" value="Sammy"

'files>

'filename>[C]\sam3\sam1.jpg

'filename>[C]\sam3\sam3.jpg

'filename>[C]\sam3\sam2.jpg

'filename>[C]\sam3\DSCF1890.JPG

'/files> 

'/property>

'/picasa2album>
Sathyajith Bhat
fonte
0

Você pode tentar ler o banco de dados do Picasa usando o utilitário exportpicasa ( http://sourceforge.net/projects/exportpicasa/ ). É beta e feedbacks são bem-vindos.

user2340650
fonte
Parece um projeto interessante, mas mesmo estando no Sourceforge, não há código nem documentação, apenas um .exe vazio com uma visão geral de uma frase. Eu não corro essas coisas fora de uma caixa de areia com monitoramento em tempo real de processos e arquivos. Eu não tenho um disponível no momento e não há incentivo suficiente para fazer um. Se você deseja que este projeto seja usado, sugiro documentação, no mínimo.
Matt Wilkie