Что такое каталог C: \ $?

11

Когда я запускаю Process Monitor , я вижу ReadFileзапросы, отправленные на C:\$Directory.

Что именно это значит?


Обновить:

Я также вижу $MapAttributeValue, что выглядит незнакомым.

user541686
источник
$Представляет собой скрытый или административный / системную папку / файл. выглядит как $recycle.binпапка.
αғsнιη

Ответы:

5

Обновление: я исследовал эту проблему дальше (так как я заметил такое же поведение на своем собственном компьютере и беспокоился, что это какая-то вредоносная программа), и теперь я считаю, что мой первоначальный ответ был на самом деле неверным. Вот что я нашел сейчас:

  1. Несколько разных процессов считываются из этого файла и из разных смещений, но одинаковой длины: 4K (ровно одна страница памяти).
  2. Есть операции ReadFile, но нет открытия файла, что бессмысленно.
  3. Глядя на трассировку стека, я вижу, что во всех запросах содержится ошибка страницы в трассировке, например, чтение этого файла внутри IoPageRead(), функция ядра, которая считывает страницы из файла подкачки в память.
  4. Эти чтения происходят в C: \ $ Directory и V: \ $ Directory в моей системе, на двух дисках, на которых хранятся файлы подкачки, и больше нигде.

Основываясь на этом исследовании, я твердо верю, что это «чтение файла» является неким артефактом Process Monitor, и реальное чтение происходит в файле подкачки. Я понятия не имею, почему ProcMon перечисляет путь как C: \ $ Directory.

Сейчас я не думаю, что этот каталог C: \ $ является настоящим метафайлом NTFS . Сейчас я не думаю, что это может быть незаконная деятельность (вирус или другое вредоносное ПО).

haimg
источник
2
Я уверен, что это не № 3 или № 2. Так что это, вероятно, № 1.
Правда, это
обычно это назначается для explorer.exe. Так что, я думаю, это не № 2 или № 3.
Дискилла
Я полностью изменил свой ответ, извините.
Haimg
Я добавил награду. Если есть какие-либо официальные / неофициальные документы или какие-либо другие результаты, было бы здорово. Это что-то довольно сложное в гугле.
Стефано Борини
4

$ Directory и $ MapAttributeValue, скорее всего, представляют собой кодовые имена для системных областей на диске NTFS , и эти ссылки взяты из программ, открывающих или создающих файлы.

Эти имена, вероятно, относятся к метафайлам , определяемым википедией как:

NTFS содержит несколько файлов, которые определяют и организуют файловую систему. Во всех отношениях большинство этих файлов структурированы, как и любой другой пользовательский файл (наиболее характерным является $ Volume), но они не представляют прямого интереса для клиентов файловой системы. Эти метафайлы определяют файлы, выполняют резервное копирование критических данных файловой системы, сохраняют изменения файловой системы, управляют распределением свободного места, соответствуют ожиданиям BIOS, отслеживают неправильные единицы распределения и хранят информацию о безопасности и использовании дискового пространства. Весь контент находится в безымянном потоке данных, если не указано иное.

$ Directory - это, скорее всего, главная таблица файлов (MFT), которая является каталогом для всех файлов и папок, где в качестве метаданных хранятся имя файла, дата создания, права доступа (с помощью списков контроля доступа) и размер. Любая программа, которая открывает или создает файл или папку, обращается к этой области диска.

$ MapAttributeValue, скорее всего, является областью списков атрибутов , описанной как:

Для каждого файла (или каталога), описанного в записи MFT, существует линейный репозиторий дескрипторов потока (также называемых атрибутами), упакованных вместе в одну или несколько записей MFT (содержащих так называемый список атрибутов), с дополнительным заполнением для заполнения фиксированного 1 КБ размера каждой записи MFT, и это полностью описывает эффективные потоки, связанные с этим файлом.

harrymc
источник
Я не понимаю, вы говорите так $Directoryже, как $MFT? Кроме того, списки атрибутов принадлежат отдельным файлам записей и хранятся внутри отдельных записей; это не глобальные файлы, хранящиеся в корне диска ...
user541686
Хорошо, я тоже удалил свой, хотя мой первый комментарий остается в силе (я все еще не понимаю, что вы подразумеваете под фразами типа «MFT, который является каталогом для всех файлов и папок».
user541686
1
@Mehrdad: я пытался сказать, что в нем определены все файлы и папки, поэтому, когда программа открывает или создает файл, к ней должна обращаться операционная система.
harrymc
1
Я до сих пор не могу понять ваш комментарий. Единственный файл, в котором все файлы и папки определены \$MFT. На указанном диске нет метафайла или другого расположения \$Directory. Я не понимаю о чем ты говоришь.
user541686
1
Я видел C:\$MFTтам тоже много раз. Вы говорите, что оба относятся к одному и тому же? Я не понимаю, почему они будут, но хорошо ...
user541686