Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

magician

Triturador de Ficheiros

Mensagens Recomendadas

magician    2
magician

Estava aqui de volta dos meus trabalho para a faculdade que parece que andam a nascer ;) e lembrei-me de algo que não tinha nada a ver LOL :)

Penso que todos ou quase todos já ouviram falar em trituradores de ficheiros penso que o mais conhecido será o que vem o com norton anti-virus, e pus-me a pensar como funcionará um triturador, visto que independente de fazer delete pelo ou SO ou através de uma linguagem de programação o efeito será o mesmo um delete simples que dependente do sistema de ficheiros poderá ser ou não recuperado. Então como fazer um triturador?? Existe algum algoritmo para isso? Se alguém poder responder ás minhas perguntas fico bastante agradecido :)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Estava aqui de volta dos meus trabalho para a faculdade que parece que andam a nascer ;) e lembrei-me de algo que não tinha nada a ver LOL :)

Penso que todos ou quase todos já ouviram falar em trituradores de ficheiros penso que o mais conhecido será o que vem o com norton anti-virus, e pus-me a pensar como funcionará um triturador, visto que independente de fazer delete pelo ou SO ou através de uma linguagem de programação o efeito será o mesmo um delete simples que dependente do sistema de ficheiros poderá ser ou não recuperado. Então como fazer um triturador?? Existe algum algoritmo para isso? Se alguém poder responder ás minhas perguntas fico bastante agradecido :)

magician, quando eliminas um ficheiro, apenas a sua referência é apagada, os dados continuam intactos no disco até a zona que ocuparem ser usada novamente. Um triturador de ficheiros substitui os dados do ficheiro com informação aleatória ou zeros. Os mais seguros fazem isto uma dezena de vezes, para se certificarem de que os dados não possam ser recuperados. :D

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Vais à tabela de atribuição de ficheiros, escreves multiplas vezes dados aleatórios no espaço que o ficheiro ocupa, fazes o mesmo nas referencias na tabela e voilá.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

E como se pode fazer isso a nível de programação ?

Mas ao escrever no local do ficheiro ele não vai ficar a ocupar espaço?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

E como se pode fazer isso a nível de programação ?

Mas ao escrever no local do ficheiro ele não vai ficar a ocupar espaço?

Abres o ficheiro em modo binário, e escreves sucessivamente informação aleatória. Depois eliminas o ficheiro normalmente usando a API do sistema operativo. ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
magician    2
magician

Ou seja basicamente é reescrever todo o ficheiro com "lixo" e depois apagar?

Então e para que é aquilo dos pedaços como tem o triturador do norton ??

Estou a pensar fazer uma quando tiver tempo livre ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Ou seja basicamente é reescrever todo o ficheiro com "lixo" e depois apagar?

Então e para que é aquilo dos pedaços como tem o triturador do norton ??

Estou a pensar fazer uma quando tiver tempo livre :)

Nunca usei isso do Norton, mas basicamente é isso. Talvez existam outros algoritmos, também estou curioso. ;)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Gurzi    2
Gurzi

Se um ficheiro por exemplo conter virus, se forem introduzidos bytes lá para o meio o ficheiro deixa de fazer sentido e por vezes até pode não correr, certo ??

Vais à tabela de atribuição de ficheiros, escreves multiplas vezes dados aleatórios no espaço que o ficheiro ocupa, fazes o mesmo nas referencias na tabela e voilá.

O que é uma tabela de atribuição de ficheiros ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

Vais à tabela de atribuição de ficheiros, escreves multiplas vezes dados aleatórios no espaço que o ficheiro ocupa, fazes o mesmo nas referencias na tabela e voilá.

O que é uma tabela de atribuição de ficheiros ?

É uma "tabela" onde estão especificados os endereços de memória correspondentes a um ficheiro. http://en.wikipedia.org/wiki/File_Allocation_Table#File_Allocation_Table

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Triton, esse nao me parece o metodo mais expedito. Nao sei como isso funciona, mas sempre pensei que isso fosse gerido ao nivel da memoria tal como o djthyrax indicou.

Ca está um exemplo de uma aplicação que não pode ser feita em java. Em java nunca tens acesso a endereços físicos de qualquer tipo de memória. Neste caso tens que usar uma linguagem tipo C ou C++ que têm bibliotecas apropriadas para manuseamento de dados em baixo nivel.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

JNI implica que a função de acesso será feita em C/C++, logo o pedrotuga tem razão, em Java, apenas, não é possível, mais caso fosse iria contra a filosofia do Java.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Triton, esse nao me parece o metodo mais expedito. Nao sei como isso funciona, mas sempre pensei que isso fosse gerido ao nivel da memoria tal como o djthyrax indicou.

Ca está um exemplo de uma aplicação que não pode ser feita em java. Em java nunca tens acesso a endereços físicos de qualquer tipo de memória. Neste caso tens que usar uma linguagem tipo C ou C++ que têm bibliotecas apropriadas para manuseamento de dados em baixo nivel.

Os ficheiros estão armazenados no disco e não na memória. Não tinha lógica fazer isso ao nível da memória, porque a memória RAM é volátil.

O que o djthyrax indicou foi um link para a File Allocation Table, no disco. Mas quando pedes ao sistema operativo para apagar um ficheiro, ele trata automaticamente de eliminar a referência do ficheiro na tabela.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade