Apa itu Direktori C: \ $?

11

Ketika saya menjalankan Process Monitor , saya melihat ReadFilepermintaan dikirim ke C:\$Directory.

Apa sebenarnya artinya ini?


Memperbarui:

Saya juga melihat $MapAttributeValue, yang terlihat asing juga.

pengguna541686
sumber
The $mewakili tersembunyi atau administratif sistem / folder / file. sepertinya $recycle.binfolder.
αғsнιη

Jawaban:

5

Pembaruan: Saya meneliti masalah ini lebih lanjut (karena saya telah memperhatikan perilaku yang sama pada komputer saya sendiri, dan khawatir bahwa ini adalah semacam malware), dan sekarang saya percaya jawaban asli saya sebenarnya tidak benar. Inilah yang saya temukan sekarang:

  1. Beberapa proses berbeda membaca dari file ini, dan dari offset yang berbeda, tetapi dengan panjang yang sama: 4K (tepat satu halaman memori).
  2. Ada operasi ReadFile, tetapi tidak ada pembukaan file, yang tidak masuk akal.
  3. Melihat jejak stack, saya melihat bahwa semua permintaan menyertakan kesalahan halaman dalam jejak, misalnya file ini dibaca di dalam IoPageRead(), fungsi kernel yang membaca halaman dari file paging ke dalam memori.
  4. Pembacaan ini terjadi pada C: \ $ Direktori dan V: \ $ Direktori pada sistem saya, dua drive yang menyimpan file paging pada mereka, dan tempat lain.

Berdasarkan penelitian ini, saya sangat percaya bahwa "file read" ini adalah semacam artefak Monitor Proses, dan pembacaan yang sebenarnya terjadi dalam file paging. Saya tidak tahu mengapa ProcMon mendaftar path sebagai C: \ $ Directory.

Saya tidak berpikir sekarang bahwa Direktori C: \ $ ini adalah metafile NTFS yang sebenarnya . Saya tidak berpikir sekarang bahwa ini bisa berupa aktivitas tidak sah (virus atau malware lain).

haim
sumber
2
Saya cukup yakin ini bukan # 3 atau # 2. Jadi mungkin # 1. Itu tidak benar-benar memberi tahu saya apa-apa, meskipun ...
user541686
biasanya ini ditugaskan untuk explorer.exe. Jadi, saya juga menebak, itu bukan # 2 atau # 3.
Diskilla
Saya mengubah jawaban saya sepenuhnya, maaf.
haimg
Saya menambahkan hadiah. Jika ada dokumen resmi / tidak resmi atau temuan lain, itu akan bagus. Ini sesuatu yang agak sulit untuk Google hal ini.
Stefano Borini
4

$ Directory dan $ MapAttributeValue kemungkinan besar adalah nama kode untuk area sistem pada disk NTFS , dan referensi ini berasal dari program yang membuka atau membuat file.

Nama-nama ini mungkin berhubungan dengan Metafiles , didefinisikan oleh wikipedia sebagai:

NTFS berisi beberapa file yang mendefinisikan dan mengatur sistem file. Dalam semua hal, sebagian besar file-file ini disusun seperti file pengguna lainnya ($ Volume menjadi yang paling aneh), tetapi tidak menarik langsung ke klien sistem file. Metafile ini mendefinisikan file, mencadangkan data sistem file penting, mengubah sistem file buffer, mengelola alokasi ruang kosong, memenuhi harapan BIOS, melacak unit alokasi buruk, dan menyimpan informasi keamanan dan penggunaan ruang disk. Semua konten dalam aliran data yang tidak disebutkan namanya, kecuali dinyatakan sebaliknya.

$ Directory kemungkinan besar adalah Master File Table (MFT) yang merupakan direktori untuk semua file dan folder, di mana disimpan sebagai metadata nama file, tanggal pembuatan, izin akses (dengan menggunakan daftar kontrol akses) dan ukuran. Program apa pun yang membuka atau membuat file atau folder mengakses area disk ini.

$ MapAttributeValue kemungkinan besar adalah area daftar atribut , digambarkan sebagai:

Untuk setiap file (atau direktori) yang dijelaskan dalam catatan MFT, ada repositori linier dari deskriptor aliran (juga dinamai atribut), yang dikemas bersama dalam satu atau lebih catatan MFT (berisi daftar atribut yang disebut), dengan bantalan tambahan untuk mengisi perbaikan Ukuran 1 KB dari setiap catatan MFT, dan itu sepenuhnya menggambarkan aliran efektif yang terkait dengan file itu.

harrymc
sumber
Saya tidak mengerti, maksud Anda $Directorysama dengan $MFT? Juga, daftar atribut milik catatan file individual dan disimpan di dalam catatan individual; mereka bukan file global yang disimpan di root disk ...
user541686
Oke saya juga menghapus saya, meskipun komentar pertama saya masih berdiri (saya masih tidak mengerti apa yang Anda maksud dengan frasa seperti "MFT yang merupakan direktori untuk semua file dan folder".
user541686
1
@Mehrdad: Saya mencoba mengatakan bahwa semua file dan folder ditentukan di dalamnya, jadi ketika sebuah program membuka atau membuat file, di situlah sistem operasi perlu mengakses.
harrymc
1
Saya masih tidak bisa memahami komentar Anda. Satu-satunya file yang memiliki semua file dan folder yang ditentukan di dalamnya adalah \$MFT. Tidak ada metafile atau lokasi lain pada disk bernama \$Directory. Saya tidak mengerti apa yang Anda bicarakan.
user541686
1
Saya telah melihat C:\$MFTterdaftar di sana banyak kali juga. Apakah Anda mengatakan keduanya merujuk pada hal yang sama? Saya tidak melihat mengapa mereka akan tetapi ok ...
user541686