01Konum
- C:\Windows\Prefetch\<EXECUTABLE>-<HASH>.pf
- SYSTEM hive: ControlSet00n\Control\Session Manager\Memory Management\PrefetchParameters (value EnablePrefetcher)
02Yanıtladığı sorular
- Belirli bir yürütülebilir dosya bu sistemde çalıştırıldı mı, kaç kez?
- En son çalıştırmaları ne zamandı (Windows 8 ve sonrasında en fazla sekiz)?
- Program için izde hangi DLL, veri dosyası ve dizinler listeleniyor?
- Başvurulan dosyalar hangi birimden (aygıt yolu, seri numarası, oluşturma zamanı) yüklendi?
03Biçim ve sürümler
| Biçim | İkili SCCA yapısı: little-endian, UTF-16LE dizeler, UTC FILETIME değerleri. Biçim sürümü 17 (XP/2003), 23 (Vista/7), 26 (8.0/8.1), 30 (Windows 10), 31 (Windows 11). Windows 10'dan itibaren dosya, LZXPRESS Huffman ile sıkıştırılmış bir MAM kabına (imza MAM\x04) alınır. |
|---|---|
| Geçerli olduğu sürümler | Windows XP'den Windows 11'e kadar. Sürüm 17 ve 23 tek bir son çalıştırma zamanı, sürüm 26 ve sonrası sekiz zaman saklar. |
04Temel alanlar
| Alan | Ne anlatır |
|---|---|
| Executable filename | Yürütülebilir dosyanın UTF-16LE adı; en fazla 29 karakter saklanır ve .pf dosya adında da yer alır. |
| Prefetch hash | Yürütülebilir dosyanın büyük harfli aygıt yolundan (ör. \DEVICE\HARDDISKVOLUME1\WINDOWS\NOTEPAD.EXE) hesaplanan 32 bitlik değer; dosya adındaki özetle eşleşmelidir. |
| Run count | Kaydedilen çalıştırma sayısı. |
| Last run time(s) | Bir FILETIME (v17/v23) veya sekiz değerlik dizi (v26+); en yenisi ilk sıradadır, kullanılmayan alanlar 0 içerir. |
| Filename strings | İzde kaydedilen dosyaların UTF-16LE yol dizisi. |
| Volume information | Birim başına: aygıt yolu, birim seri numarası, birim oluşturma zamanı, NTFS dosya referansları ve dizin dizeleri. |
05Zaman damgaları
| Alan | Kodlama | Not |
|---|---|---|
| Last run time (×1 in v17/23, ×8 in v26+) | FILETIME (UTC) | İlk girdi en son çalıştırmadır; saklanan alanların ötesindeki eski çalıştırmalar yalnızca çalıştırma sayısına yansır. |
| Volume creation time | FILETIME (UTC) | Yürütülebilir dosyayı veya çalıştırmayı değil, başvurulan birimi tanımlar. |
Ham değerleri Zaman damgası çözücü, yerel saatleri ise Yerel saatten UTC'ye ile çözün.
06İnceleme akışı
- Prefetch dizininin tamamını toplayın ve SYSTEM kovanından EnablePrefetcher değerini kaydedin (0 = kapalı, 1 = uygulama başlatma, 2 = önyükleme, 3 = ikisi).
- Windows 10 ve sonrasındaki MAM dosyalarının sıkıştırmasını ayrıştırmadan önce açın; örneğin PECmd, Windows 8'den eski ana makinelerde Windows 10 Prefetch dosyalarını işleyemez.
- Her .pf dosyası için ad, özet, çalıştırma sayısı, son çalıştırma zamanları, birim bilgisi ve dosya listesini çıkarın.
- Tam yolu belirlemek için dosya listesini ve birim verisini kullanın; farklı klasörlerdeki aynı ad farklı özet, dolayısıyla ayrı .pf dosyası üretir.
- Çalıştırma zamanlarını Amcache, AppCompatCache, BAM ve olay günlükleriyle ilişkilendirin.
07Yorum tuzakları
- Yürütülebilir dosya adı 29 karaktere kısaltılır; bir ikiliyi tanımlamak için yalnızca buna güvenmeyin.
- Bir .pf dosyasının olmaması programın hiç çalışmadığını kanıtlamaz: önceden getirme EnablePrefetcher ile kapatılabilir.
- Bir NTFS alternatif veri akışının çalıştırılması, akış adını içeren bir Prefetch adı üretir (libscca örneği: notepad.exe:evil.pf).
- Bazı başlık ve birim alanları hâlâ belgelenmemiştir; libscca'da bilinmiyor olarak işaretlenen değerleri yorumlanmamış kabul edin.
09Kaynaklar
- Windows Prefetch File (PF) format libyal / libscca (J. Metz) · erişim 2026-10-14
- Prefetch (PrefetchParameters key) libyal / winreg-kb · erişim 2026-10-14
- PECmd README Eric Zimmerman (GitHub) · erişim 2026-10-14