Recuperação de arquivos do OpenOffice.Org e BrOffice.Org | Eriberto Blog
Posted by Eriberto on fev 1, 2010 in Forense computacional, Linux, Sistema Operacional |
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).
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:
# 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:
# 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.
# 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:
# 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).
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.
set 27, 2010 at 12:19 pm
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!
set 27, 2010 at 2:44 pm
Hugo, só vendo de perto. Mas parece que corrompeu o zip. Fica difícil...
Aphlá Alberth Ferreira Lameira Junior
set 27, 2010 at 8:28 pm
Senhor Eriberto,
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
abr 6, 2011 at 3:49 pm
foremost -t all -o ALL imagem.img
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!
maio 3, 2011 at 9:29 am
Zhu, é o que se espera. Já pensou se o todo o esquema mundial de criptografia fosse quebrado por um programinha tipo foremost?
maio 13, 2011 at 1:26 pm
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.
maio 19, 2011 at 2:06 pm
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.
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?
jul 18, 2011 at 2:55 pm
Elthon, creio que não.
Meu desktop foi desligado no momento que era criado um documento no OpenOffice Writter. Onde o programa salva o documento temporário?
abr 18, 2012 at 8:10 am
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.
maio 15, 2012 at 1:08 pm
perdi meu trabalho em odt tenho ele mas esta corrompido ja tentei extrair o content.xml mas nao extrai quem souber recuperar eu pago $ Obg
ago 12, 2012 at 3:42 pm
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.
ago 14, 2012 at 7:10 am
Grato a você Telmo!
set 10, 2012 at 12:17 pm
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!
set 15, 2012 at 12:39 am
José, no seu caso acho que só uma análise detalhada da superfície do disco ajudaria. Mas isso não é trivial.
Tente recuperar algo anterior com foremost.
maio 15, 2013 at 9:12 am
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.
maio 21, 2013 at 2:45 pm
Mas foi doc ou docx?
set 25, 2013 at 11:39 am
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.
out 5, 2013 at 3:47 pm
A que parece, você está com vírus. Tente utilizar o foremost no Linux para recuperar os seus arquivos. É a forma mais fácil.
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.
Não conseguirei recuperar meus últimos escritos?
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.