Em investigação forense computacional, um dos passos essenciais é preservar o conteúdo dos discos rígidos. Para esta finalidade, o comando ddrescue, parte do pacote gddrescue, é uma ferramenta imprescíndivel.
O tutorial de uso do comando
ddrescue que se segue, foi traduzido e adaptado do original em inglês chamado
ddrescue, pertencente ao site
Forensics Wiki. Para saber mais, visite a
página do projeto.
Ddrescue é uma ferramenta usada para criar imagens de discos rígidos, copiando dados de um arquivo ou dispositivo de bloco para outro, fazendo o possível para recuperar os dados em caso de erros de leitura. O aplicativo ddrescue é parte do projeto GNU e foi escrito tendo sistemas UNIX/Linux em mente.
ddrescue e
dd_rescue são programas completamente diferentes que e desenvolvidos independentemente. Os dois projetos não são relacionados exceto pelo fato de que ambos tentam aprimorar a ferramenta padrão
dd e, coincidentemente, escolheram nomes parecidos para seus programas.
Segundo a página de documentação do programa ddrescue:
GNU ddrescue é uma ferramenta para recuperação de dados. Ela copia dados de um arquivo ou dispositivo de bloco (disco rígido, cdrom, etc) para outro, tentando da melhor forma possível recuperar os dados em caso de erros de leitura.
Ddrescue não trunca o arquivo de saída se não for solicitado. Então, todas as vezes em que você executá-lo sobre o mesmo arquivo de saída, ele tentará preencher os vazios.
A operação básica do
ddrescue é totalmente automática. Ou seja, você não tem que esperar por um erro, parar o programa, ler o log, executá-lo em modo reverso, etc.
Se você usa o recurso de arquivos de log do
ddrescue, os dados são recuperados de forma mais eficiente (apenas os blocos necessários são lidos). Você pode também interromper a recuperação de dados a qualquer momento e retomá-la mais tarde, a partir do mesmo ponto.
Mescla automática de backups: se você tem duas ou mais cópias danificadas de um arquivo, cdrom, etc, e executa o comando ddrescue sobre todas elas, uma de cada vez, com o mesmo arquivo de saída, você provavelmente obterá um arquivo completo e sem erros. Isto se dá porque a probabilidade de ter cópias danificadas das mesmas áreas, nos mesmos locais, em arquivos de entrada diferentes, é muito baixa. Usando o arquivo de log, apenas os blocos necessários são lidos na segunda cópia e nas demais.