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


11

Коли я запускаю Monitor Monitor , я бачу ReadFileзапити, надіслані до C:\$Directory.

Що саме це означає?


Оновлення:

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


$Являє собою прихований або адміністративний / системну папку / файл. виглядає як $recycle.binпапка.
αғsnιη

Відповіді:


5

Оновлення: я вивчив цю проблему далі (оскільки я помітив таку саму поведінку на власному комп’ютері і переживав, що це якась шкідлива програма), і тепер я вважаю, що моя оригінальна відповідь була насправді неправильною. Ось що я зараз знайшов:

  1. Кілька різних процесів читаються з цього файлу та з різних зсувів, але з однаковою довжиною: 4K (рівно одна сторінка пам'яті).
  2. Є операції ReadFile, але немає відкриття файлу, що мало сенсу.
  3. Дивлячись на трасування стека, я бачу, що всі запити містять помилку сторінки в трасі, наприклад, цей файл, прочитаний знаходиться всередині IoPageRead(), функція ядра, яка читає сторінки з файлу підкачки в пам'ять.
  4. Ці зчитування трапляються на C: \ $ Directory та V: \ $ Directory у моїй системі, на двох дисках, які містять файли підкачки на них, і ніде більше.

На основі цього дослідження я переконаний, що цей "файл читання" - це якийсь артефакт Process Monitor, і справжнє зчитування відбувається у файлі підкачки. Я поняття не маю, чому ProcMon перераховує шлях як каталог C: \ $.

Зараз я не думаю, що цей каталог C: \ $ - це справжня метафайл NTFS . Зараз я не думаю, що це може бути якась нелегальна діяльність (вірус чи інша шкідлива програма).


2
Я майже впевнений, що це не №3 або №2. Так що це, мабуть, №1. Це насправді нічого не говорить мені, хоча ...
user541686

зазвичай це присвоюється Explor.exe. Отже, я також здогадуюсь, це не №2 або №3.
Diskilla

Я повністю змінив свою відповідь, вибачте.
haimg

Я додав щедрості. Якщо є якісь офіційні / неофіційні документи або будь-які інші висновки, було б чудово. Гуглити цей матеріал досить важко.
Стефано Борині

4

$ Directory та $ MapAttributeValue - це, ймовірно, кодові імена для системних областей на диску NTFS , і ці посилання походять від програм, що відкривають або створюють файли.

Ці імена, ймовірно, відносяться до метафілів , визначених wikipedia як:

NTFS містить декілька файлів, які визначають та упорядковують файлову систему. По суті, більшість цих файлів структуровані, як і будь-який інший файл користувача ($ Volume є найбільш своєрідним), але не представляють прямого інтересу для клієнтів файлової системи. Ці метафілі визначають файли, створюють резервні копії критичних даних файлової системи, змінюють буферну файлову систему, керують розподілом вільного простору, задовольняють очікування BIOS, відстежують погані одиниці розподілу та зберігають інформацію про безпеку та використання дискового простору. Весь вміст знаходиться у неназваному потоці даних, якщо інше не вказано.

$ Directory - це, ймовірно, таблиця головних файлів (MFT), це каталог для всіх файлів і папок, де зберігаються як метадані ім'я файлу, дата створення, дозволи доступу (за допомогою списків контролю доступу) та розмір. Будь-яка програма, яка відкриває або створює файл або папку, отримує доступ до цієї області диска.

$ MapAttributeValue - це, мабуть, область списків атрибутів , описана як:

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


Я не розумію, ти кажеш, $Directoryце те саме, що $MFT? Також списки атрибутів належать до окремих записів файлів і зберігаються всередині окремих записів; вони не є глобальними файлами, що зберігаються в корені диска ...
user541686

Гаразд, я також видалив шахту, хоча мій перший коментар все ще стоїть (я все ще не розумію, що ви маєте на увазі під фразами типу "MFT, що є каталогом для всіх файлів і папок".
user541686

1
@Mehrdad: Я намагався сказати, що всі файли та папки визначені в ньому, тому коли програма відкривається або створює файл, саме там операційна система повинна отримати доступ.
harrymc

1
Я досі не можу зрозуміти ваш коментар. Єдиний файл, у якому визначені всі файли та папки, - це \$MFT. На диску не має метафайлу чи іншого місця на диску \$Directory. Я не розумію, про що ти говориш.
користувач541686

1
Я теж бачив C:\$MFTперераховані там багато разів. Ви кажете, що обидва посилаються на одне й те саме? Я не бачу, чому б це було, але добре ...
user541686
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.