Eu tenho um disco rígido que foi formatado e reinstalei seu sistema operacional.
O problema é que não estava inicializando antes da formatação e o backup de dados que fiz antes da formatação, por algum motivo, não tem todos os arquivos.
Faltam arquivos *.docx do Microsoft Word.
Agora estou tentando recuperar os arquivos com o Puran File Recovery , mas ele não tem uma entrada de verificação de extensão *.docx pré-incorporada.
O Puran File Recovery tem uma opção para criar entradas personalizadas e encontrei em filesignatures.net a assinatura de bytes iniciais, então agora consegui encontrar muitos cabeçalhos *.docx no disco rígido.
Meu problema agora é que não consigo encontrar em nenhum lugar quais são os bytes finais dos arquivos *.docx para que eu possa recuperar alguns arquivos.
Um
.docx
arquivo é apenas um.zip
arquivo. É assim que um arquivo Zip é estruturado:O final de um arquivo Zip é indicado pelo final do registro do diretório central ( EOCD ) . O comprimento do EOCD é variável porque pode conter um comentário de até 65535 bytes. Veja a parte em negrito do layout EOCD abaixo:
Tabela da Wikipédia » Zip (formato de arquivo) » Fim do registro do diretório central (EOCD)
Você pode obter o final de um arquivo Zip procurando por
0x06054b50
(o início do EOCD) e contando 16 bytes depois disso. Defina os próximos dois bytes como0x0000
para ignorar o comentário e agora você deve ter o final de um arquivo Zip válido.Observação: isso não leva em consideração a fragmentação do sistema de arquivos. Sua abordagem de recuperação não funcionará se o arquivo
.docx
/ estiver.zip
fragmentado no disco porque as assinaturas encontradas serão quebradas. Você precisaria de algumas informações do sistema de arquivos para juntar os arquivos fragmentados; as assinaturas iniciais e finais não possuem essa informação.PhotoRec é um software que já usei antes que tem alguns truques para descobrir como juntar arquivos fragmentados. Crucialmente para você, o PhotoRec possui suporte integrado para arquivos Zip , então você pode tentar o TestDisk/PhotoRec se sua estratégia atual de pesquisa de assinaturas não estiver funcionando para você.
A resposta de Deltik está correta. Algumas informações potencialmente úteis:
A sequência de bytes para o cabeçalho End-Of-Central-Directory aparecerá como 504b0506 (ordem inversa), conforme visualizado por um editor hexadecimal, como xxd, ou em uma sequência endereçada por byte.
Em um arquivo OpenOfficeXML válido, como um arquivo .docx, nunca há um comentário de fim de diretório central (consulte ECMA-376 , Parte 2 , página 76: "comentário de arquivo ZIP" não deve ser produzido. No entanto, os consumidores devem suportar a leitura de um arquivo contendo tal comentário de qualquer maneira.)
Além disso, os arquivos de vários discos não são suportados (consulte a página 75), portanto, o campo "Número deste disco" e o campo "Disco onde o diretório central começa" são sempre 0. Além disso, o "Número de registros do diretório central neste disco " e os campos "Número total de registros do diretório central" devem ser iguais.
Ao todo, os 22 bytes finais de qualquer arquivo .docx devem sempre ter o formato