A referência é removida, um arquivo de metadados é mantido na Lixeira para saber o local original.
Nos primeiros dias, no Windows 95 e no 98, estava localizado em \RECYCLED
. No Windows 2000 e posterior, ele foi renomeado para \RECYCLER
. Desde o Windows Vista, agora é uma pasta especial chamada \$Recycle.Bin
.
Use Process Monitor para ver o I / O sob o capô, coloque um filtro em Recycle.Bin
e visitá-lo. :)
Por exemplo, quando faço isso:
notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5
Observação: o nome da pasta longa é um SID do usuário . O último nome da pasta é um hash baseado nos metadados.
Eu recebo um arquivo que contém informações de metadados como esta:
Ö¸ÌC : \ P a t h \ T o \ S o m e \ E x a m p l e . t x t
O motivo pelo qual o caminho do arquivo tem espaços é porque ele é armazenado em caracteres de byte largo, para suportar caracteres especiais para determinados idiomas, bem como unicode e o que mais. Os símbolos anteriores são binários e contêm informações como o tamanho do arquivo e permissões, bem como um ponteiro para os dados do arquivo. Em essência, contém informações suficientes para reconstruir a referência original ...
É triste que o livro do Windows Internals não cubra isso, senão eu teria mais referências. Não encontrei nenhum artigo sobre detalhes sobre isso, nem pela Microsoft nem por terceiros. Eles provavelmente existem, mas eu achei mais fácil ir e reverter a engenharia do conceito principal ...