Pular para o conteúdo

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.

————————

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

22 comentários em “Recuperação de arquivos do OpenOffice.Org e BrOffice.Org”

  1. Eriberto,
    Tenho um arquivo .odt muito importante que simplesmente foi apagado quando o computador ficou sem energia e desligou. Ao tentar abrir o arquivo o BROffice Writer me pede para escolher um filtro ASCII. Apertei OK e o arquivo está em branco, 0 bytes.
    Tentei abrir o arquivo.odt via unzip, mas recebo a seguinte mensagem:
    “End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot find zipfile directory in one of Corpo.odt or Corpo.odt.zip, and cannot find Corpo.odt.ZIP, period.”
    O que fazer? O arquivo é recuperável? Preciso de ajuda!
    Grato

  2. Senhor Eriberto,
    boa noite.

    Gostaria de saber, por favor, como corrigir um problema no BROOFICE quando não consigo alterar o texto de arquivos criados com campos, semelhantes à mala direta? A única forma de editá-los é copiar seu conteúdo e colar em um novo arquivo. Disseram-me que poderia eliminar o arquivo temporário do BROFFICE, .broffice, e depois os arquivos estariam prontos para modificá-los ao longo de sua estrutura textual. Help me! Obrigado, Aphlá Junior

  3. foremost -t all -o ALL imagem.img
    cd ALL
    fdupes -R -d -N .

    Realmente o foremost é bem melhor que o magicrescue. (v1.5.7-r1 e v1.1.8, respectivamente).

    Infelizmente o magicrescue não tem essa opção E para piorar tem menos opções ainda para tipos de arquivos.

    Entretanto, tive a curiosidade de testar ambos contra uma imagem criptografada com o cryptsetup. Nenhuma foi capaz de abduzir arquivos. Amem!

    Muito bom!!!

  4. Prezado Eriberto,

    Assisti um vídeo de uma palestra no SERPRO sobre Forense computacional.

    Estou enviando esta para pedir uma ajuda. Tenho um pendriver que está com problema no seu processador e não deixa que eu monte o mesmo. Bom, mas consegui fazer um dd e gerar uma .img dele.

    Consigo realizar foremost e magicrescue sem problemas. Recupero arquivos conhecidos como .pdf, .doc e outros. Contudo uso o freemind para fazer mapas mentais e a extenção .mm que na verdade é um arquivo xml.

    Bom, preciso recuperar estes arquivos e não estou conseguindo. Teria alguma sugestão?

    Grato Luciano Valadares.

  5. Luciano, a única forma é procurar pelos mapas dentro da imagem. Eles contêm a expressão “.map.version=”. Depois, é necessário fazer uma captura referente ao bloco do arquivo com dd.

    []s

  6. Olá Eriberto!

    Deixo de antemão claro que não sou nenhum expert (sou farmacêutico!), mas me viro ou tento.

    Tenho um arquivo .ods de extrema importância que não estou conseguindo abrir, responde como ‘encontrado erro de formato no arquivo do subdocumento content.xml em 2,10775(linha,col).

    Tentei usar alguns reparadores mas nenhum respondeu. Acessei o arquivo através do extrator para tentar acessar o content.xml mas deu como arquivo corrompido.

    Há alguma salvação/solução/ajuda?

    Obrigado!

  7. Obrigado mesmo pela dica! consegue recuperar algumas horas de trabalho (ainda que tenha perco algumas outras até conseguir executar todos os passos).

    A linha final foi extremamente util, só que tive que adapta-lá para: for i in $(grep content.xml *|cut -d” ” -f3); do soffice $i; rm -i $i; done

    (ou seja substitui ooffice por soffice, o próprio terminal me deu essa dica.

    Abraços

  8. Olá Eriberto!

    O seu artigo me ajudou com um problema que tinha ja a algum tempo… não conseguia recuperar um arquivo .doc que tinha… tirou-me um peso de cima mesmo! Muito obrigado, estou eternamente grato pela ajuda.

    Abraço!

  9. Prezado Eriberto

    Li em vários sites que o meu problema, o qual citarei aqui, não tem uma solução fácil, ou mesmo, nenhuma. Mas a esperança é a última que morre. Bom, vamos ao que interessa. Eu tenho um arquivo ods que modificou seu tamanho após a “queda de luz” que todos usuários de open office, BrOffice etc… temem. Seu tamanho esta em 1,5 kb. Tentei utilizar um descompactador para substituir somente o arquivo content.xml e nada. Tentei programas de recuperação de arquivo (do arquivo calc) e nada. Agora, a única coisa que não tentei foi utilizar algum programa que faça como o ponto de restauração do windows, se é que exista isso para linux, pois seria de grande ajuda. Gostaria de uma orientação. Obrigado!

  10. Olá, estava trabalhando em um arquivo importante, no br office, mas salvando em doc. 2007, ocorreu que faltou energia, o arquivo estava num pen drive, e quando pede a recuperação agora, dá a mensagem de erro para abrir e fechar o arquivo.
    O que faço? Preciso do material e estou apavorada, uso o Linux.
    Obrigada!

  11. Boa tarde, venho aqui para pedir ajuda, na minha pen onde guardo alguns ficheiros não sei como apareceram copias dos originais, ao apagar os duplicados passei a não poder abrir os que ficaram, gostava de saber se me pode ajudar.

  12. Prezado,

    Eu estou escrevendo um livro. É um arquivo .docx. Uso linux.
    Durante a semana eu escrevo e no final de semana faço o backup. Nessa semana, eu escrevi muito, e modifiquei muita coisa! Ontem, sábado, como de costume, fui abrir e não abre!
    Aparece “Opções de filtro ASCII”. E quando eu abro o arquivo, abre “400 mil” caracteres e NADA do que eu escrevi. Nem sinal. Eram 40 páginas 🙁
    Tentei fazer cópia e abrir com .txt, mas apareceram os mesmos caracteres sem sentido. Também tentei abrir um Word e “importar”, mas, da mesma forma, nada aconteceu.

    Estou muito triste.
    Não conseguirei recuperar meus últimos escritos?

    Aguardo breve retorno,
    Ana Luisa.

  13. Boa noite Ana,

    Sei que muitos vão me criticar por dizer isso mas o Libreoffice faz dessas. Não o aconselho para um livro grande. Tem gente que usa latex e, até mesmo, programas proprietários. Num dos meus livros, quando estava com mais de 500 páginas, o Libreoffice perdeu todos os estilos e corrompeu alguns trechos.

    Lamento.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

20 − 12 =