Veja como funciona
Desde o Windows 2000, o sistema de arquivos NTFS do Windows oferece suporte a Fluxos de Dados Alternativos, que permitem armazenar dados “por trás” de um nome de arquivo com o uso de um nome de fluxo. Não é detectável durante a navegação no sistema de arquivos ou em qualquer lugar do Windows … você só pode acessá-lo com a "chave secreta", que é apenas o nome do fluxo.
Essa não é uma maneira totalmente segura de ocultar dados, como ilustramos abaixo, mas é um truque divertido de se conhecer em um piscar de olhos.
Nota: Isso funciona apenas em uma unidade formatada com NTFS.
Escondendo dados em um compartimento secreto
Para usar esse recurso, você precisará abrir um prompt de comando e usar a seguinte sintaxe:
notepad SomeFile.txt:SecretWordHere.txt
Você pode usar qualquer coisa depois dos dois pontos como uma palavra secreta, mas a chave é que não pode haver espaços entre o primeiro nome de arquivo e os dois pontos.
Nota: depois de criar um fluxo oculto, esse fluxo não é exatamente parte do arquivo … você não pode copiar seu arquivo para outro local e acessar os fluxos por lá.
Detectando Arquivos com Fluxos
É claro que esses arquivos não são totalmente ocultos de todos, porque você pode usar um aplicativo de linha de comando pequeno chamado Streams.exe para detectar arquivos que possuem fluxos, incluindo os nomes dos fluxos.
Por exemplo, no meu cenário, usamos a seguinte sintaxe:
streams.exe SomeFile.txt
Se você estiver usando o Windows 7, basta usar o argumento / R para o comando DIR para ver os fluxos:
Excluindo fluxos
Você pode usar o mesmo comando Streams.exe para excluir todos os fluxos de um arquivo, embora eu não ache que você possa excluir apenas um único fluxo. Use a seguinte sintaxe:
streams.exe -d SomeFile.txt
Adicionando a fluxos ocultos a partir da linha de comando
Você pode adicionar dados a um fluxo oculto usando vários comandos, ou realmente qualquer coisa que possa canalizar entrada ou saída e aceitar a sintaxe padrão FileName: StreamName. Por exemplo, poderíamos usar o comando echo:
echo “Neat!” > SomeFile.txt:Test
Lendo um fluxo da linha de comando
Você pode ler dados do fluxo canalizando dados para o comando more, usando esta sintaxe:
more < FileName:StreamName
No meu exemplo, o comando real era este:
more < SomeFile.txt:SecretSquirrel!.txt
É claro que essa não é uma maneira segura de ocultar dados. Para isso, você deve usar o TrueCrypt. É apenas uma daquelas coisas que podem ser divertidas de usar e podem ser úteis aqui ou ali.
Aprender é divertido, não é?