O que é o diretório C: \ $?

11

Quando executo o Process Monitor , vejo ReadFilesolicitações enviadas para C:\$Directory.

O que exatamente isso significa?


Atualizar:

Eu também vejo $MapAttributeValue, o que parece estranho também.

user541686
fonte
O $representa uma pasta / arquivo oculto ou administrativo / do sistema. parece $recycle.binpasta.
αғsнιη

Respostas:

5

Atualização: pesquisei mais sobre esse problema (já que notei o mesmo comportamento no meu próprio computador e fiquei preocupado que isso fosse algum tipo de malware), e agora acredito que minha resposta original estava de fato incorreta. Aqui está o que eu encontrei agora:

  1. Vários processos diferentes leram esse arquivo e de diferentes compensações, mas com o mesmo comprimento: 4K (exatamente uma página de memória).
  2. Existem operações ReadFile, mas nenhuma abertura do arquivo, o que faz pouco sentido.
  3. Observando o rastreamento de pilha, vejo que todas as solicitações incluem uma falha de página no rastreamento, por exemplo, a leitura deste arquivo está dentro IoPageRead(), a função do kernel que lê as páginas do arquivo de paginação na memória.
  4. Essas leituras acontecem no diretório C: \ $ e no diretório V: \ $ no meu sistema, nas duas unidades que contêm arquivos de paginação e em nenhum outro lugar.

Com base nesta pesquisa, acredito firmemente que esse "arquivo lido" é algum tipo de artefato do Process Monitor, e a leitura real acontece no arquivo de paginação. Não faço ideia por que o ProcMon lista o caminho como C: \ $ Directory.

Agora não acho que esse diretório C: \ $ seja um metarquivo NTFS real . Não acho que agora isso possa ser uma atividade ilegítima (vírus ou outro malware).

haimg
fonte
2
Tenho certeza de que não é o nº 3 ou o nº 2. Então provavelmente é o número 1. Realmente não me diga qualquer coisa, embora ...
user541686
Normalmente, isso é atribuído ao explorer.exe. Então, eu também acho, não é o número 2 ou o número 3.
Diskilla 11/11
Mudei minha resposta completamente, desculpe.
haimg
Eu adicionei uma recompensa. Se houver documentos oficiais / não oficiais ou outras descobertas, seria ótimo. É algo bastante difícil de pesquisar essas coisas no Google.
Stefano Borini 03/02
4

$ Directory e $ MapAttributeValue são provavelmente nomes de código para áreas do sistema no disco NTFS , e essas referências vêm de programas que abrem ou criam arquivos.

Esses nomes provavelmente pertencem aos metarquivos , definidos pela wikipedia como:

O NTFS contém vários arquivos que definem e organizam o sistema de arquivos. Em todos os aspectos, a maioria desses arquivos é estruturada como qualquer outro arquivo de usuário ($ Volume sendo o mais peculiar), mas não interessa diretamente aos clientes do sistema de arquivos. Esses metarquivos definem arquivos, fazem backup de dados críticos do sistema de arquivos, alteram o sistema de arquivos em buffer, gerenciam a alocação de espaço livre, atendem às expectativas do BIOS, rastreiam unidades de alocação incorreta e armazenam informações de segurança e uso do espaço em disco. Todo o conteúdo está em um fluxo de dados sem nome, salvo indicação em contrário.

$ Directory é provavelmente a MFT ( tabela de arquivos mestre ) que é o diretório de todos os arquivos e pastas, onde são armazenados como metadados o nome do arquivo, a data de criação, as permissões de acesso (pelo uso de listas de controle de acesso) e o tamanho. Qualquer programa que abre ou cria um arquivo ou pasta acessa essa área do disco.

$ MapAttributeValue é provavelmente a área de listas de atributos , descrita como:

Para cada arquivo (ou diretório) descrito no registro MFT, há um repositório linear de descritores de fluxo (também chamados de atributos), agrupados em um ou mais registros MFT (contendo a chamada lista de atributos), com preenchimento extra para preencher os Tamanho de 1 KB de cada registro MFT e que descreve completamente os fluxos efetivos associados a esse arquivo.

harrymc
fonte
Eu não entendo, você está dizendo que $Directoryé o mesmo que $MFT? Além disso, as listas de atributos pertencem a registros de arquivos individuais e são armazenadas dentro dos registros individuais; eles não são arquivos globais armazenados na raiz do disco ...
user541686
Ok eu deletei meu também, embora o meu primeiro comentário ainda está de pé (eu ainda não entendo o que você quer dizer com frases como "o MFT que é o diretório para todos os arquivos e pastas".
user541686
1
@ Mehrdad: Eu estava tentando dizer que todos os arquivos e pastas estão definidos nele; portanto, quando um programa abre ou cria um arquivo, é aí que o sistema operacional precisa acessar.
7605 harrymc
1
Ainda não consigo entender o seu comentário. O único arquivo que possui todos os arquivos e pastas definidos é \$MFT. Não há metarquivo ou outro local no disco nomeado \$Directory. Eu não entendo do que você está falando.
user541686
1
Eu já vi C:\$MFTlistado muitas vezes também, no entanto. Você está dizendo que ambos se referem à mesma coisa? Eu não vejo por que eles iria, mas ok ...
user541686