A referência é removida, um arquivo de metadados é mantido na Lixeira para saber o local original.
Nos primeiros dias, no Windows 95 e 98, ele 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 o Process Monitor para ver a E / S sob o capô, coloque um filtro Recycle.Bin
e visite-o. :)
Por exemplo, quando faço isso:
notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5
Nota: O nome longo da pasta é um SID do usuário . O último nome da pasta é um hash com base nos metadados.
Eu recebo um arquivo que contém informações de metadados como este:
Ö¸Ì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 possui espaços intermediários é porque ele é armazenado em caracteres de bytes largos, para suportar caracteres especiais para determinados idiomas, além de unicode e o que mais. Os símbolos anteriores são binários e contêm informações como o tamanho e as permissões do arquivo, além de 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 Windows Internals não cubra isso, ou eu teria mais referências. Não encontrei nenhum artigo detalhado sobre isso, nem pela Microsoft nem por terceiros. Provavelmente existem, mas achei mais fácil fazer engenharia reversa do conceito principal ...