- Eriberto Blog - http://eriberto.pro.br/blog -

Recuperação de arquivos do OpenOffice.Org e BrOffice.Org

Tweet [1]

A situação

Imagine uma situação: você possui um pendrive ou partição de HD com arquivos do OpenOffice.Org. Por um acidente ou desastre, esses arquivos são perdidos. Eles podem ter sido apagados, a partição pode ter sido formatada ou a área de controle do filesystem foi perdida (ocorrência típica em FAT32 em pendrives). Agora, você precisa recuperar arquivos, inclusive os do OpenOffice.Org (BrOffice.Org).

Procedimentos

Para obtermos sucesso, teremos que empregar algumas técnicas de forense computacional. A primeira coisa a fazer é criar uma imagem da mídia a ser manipulada. Vamos trabalhar com a hipótese de ser um pendrive que pode ser acessado como /dev/sdb. Adote os passos a seguir para gerar a imagem:

# cd
# apt-get install dcfldd
# dcfldd if=/dev/sdb of=pendrive.img

Uma vez gerada a imagem, poderemos utilizar o foremost e o magicrescue para recuperar os arquivos do OpenOffice.Org. No entanto, antes, é necessário entender o padrão ODF, utilizado pelo OpenOffice.Org.

Vamos analisar um documento .odt. Abra o OpenOffice.Org (ou BrOffice.Org) e gere um arquivo no Writer. Escreva a palavra “teste” e salve como arquivo.odt dentro de um diretório vazio (para fins didáticos, vou considerar /tmp/doc). Esse arquivo.odt é, na verdade, um monte de arquivos e diretórios “zipados” com o padrão PkZip/WinZip. Siga os procedimentos:

# apt-get install unzip
# cd /tmp/doc
# unzip arquivo.odt

Descompactado o arquivo.odt, surgiram os seguintes arquivos e diretórios:

Configurations2  content.xml  META-INF  meta.xml  mimetype  settings.xml  styles.xml  Thumbnails

Esses elementos formam os arquivos gerados pelo OpenOffice.Org quando clicamos em salvar. O texto digitado pelo usuário está dentro do arquivo content.xml. Então, uma conclusão importante: os arquivos do OpenOffice.Org são do tipo zip e sempre conterão, dentre outras coisas, um content.xml. Guarde esta informação; ela é essencial.

As ferramentas foremost e magicrescue permitem recuperar arquivos, por padrões, a partir da leitura da superfície de um disco (e a imagem é a cópia de uma superfície de disco). Vamos recuperar os arquivos do padrão zip, existentes na imagem, com o foremost.

# cd
# apt-get install foremost
# foremost -t zip -o zips pendrive.img

Com o comando anterior, será criado um diretório zips, contendo todos os arquivos .zip encontrados na imagem. Se preferir o magicrescue, utilize a sitaxe a seguir:

# mkdir zips2
# magicrescue -r zip -d zips pendrive.img

Ao final do trabalho é possível notar que o foremost é bem mais rápido. No meu caso, em uma situação real de recuperação de dados em uma imagem, o foremost encontrou 5.044 arquivos zip, enquanto o magicrescue encontrou 5.017 arquivos. Então, aconselho a sempre buscar arquivos utilizando os dois programas.

Depois de encontrados os arquivos, com todos no mesmo diretório, elimine os duplicados. Para isso:

# apt-get install fdupes
# cd <diretório_com_arquivos_zip>
# fdupes -d -N .

IMPORTANTE: na última linha, note o ponto no final.

O próximo passo será descobrir quais arquivos zip poderão ser arquivos gerados pelo OpenOffice.Org. Para isto, basta procurar por “content.xml” dentro dos arquivos. Um grep resolve isso:

$ grep content.xml *

Por fim, abra cada arquivo e verifique o seu conteúdo. Utilize o comando ooffice. Exemplo:

$ ooffice 02268560.zip

A seguinte linha poderá ser útil:

for i in $(grep content.xml *|cut -d" " -f3); do ooffice $i; rm -i $i; done

Essa linha mostrará o conteúdo de cada arquivo no OpenOffice.Org e, em seguida, perguntará se você deseja apagar tal arquivo. Isso será feito arquivo por arquivo e sempre será pedida a confirmação para apagar. É MUITO IMPORTANTE notar que o mesmo documento poderá aparecer várias vezes, em várias versões salvas pelo usuário durante o seu tempo de confecção ou como cópia gravada em outra área do disco. Então, seja criterioso ao analisar cada documento. Uma dica é observar o seu tamanho (teoricamente quanto maior mais recente, caso tenha conteúdo adicionado constantemente) e as propriedades de edição (no OpenOffice.Org: Arquivo > Propriedades).

Extensões suportadas

FOREMOST. Na versão 1.5.6, as seguintes extensões são suportadas: avi, bmp, cpp, doc, exe, gif, htm, jpg, mov, mpg, ole, pdf, png, rar, riff, wav, wmv, zip.

MAGICRESCUE. Na versão 1.1.8, as seguintes extensões são suportadas: avi, canon-cr2, elf, flac, gimp-xcf, gpl, gzip, jpeg-exif, jpeg-jfif, mp3-id3v1, mp3-id3v2, msoffice, nikon-raw, perl, png, ppm, zip.

Palestra sobre Forense

Disponível em http://www.eriberto.pro.br/palestras [2].

————————

TWITTER: para saber sobre os meus livros e outras novidades, me siga em http://twitter.com/eribertomota [3]. Prometo que serão mensagens esporádicas. Não pretendo anunciar cada soluço meu. :-)