PF ファイル形式とは?
.pf ファイルは Windows Prefetch キャッシュファイル です。これは Windows のプリフェッチャーコンポーネントがプログラムの読み込みを高速化するために生成する、独自のバイナリレコードです。.pf ファイルはオペレーティングシステムによって自動的に作成され、C:\Windows\Prefetch フォルダに保存されます。各ファイルは NAME-XXXXXXXX.pf という形式で命名され、8文字の16進数サフィックスは実行ファイルのフルパスから派生したハッシュ値です。Windows のシステムサービスと、ユーザーが開いたアプリケーションの両方が .pf ファイルを生成します。
.pf ファイルは、そのファイルが作成されたアプリケーションの読み込みプロセスを大幅に高速化します。したがって、Prefetch フォルダとその内容は Windows システム最適化技術の一部です。各 .pf ファイルには、プログラムが実行開始から数秒間に読み込んだ DLL やリソースが記録されており、Windows は次回の起動時にそれらのアセットをプリロード(事前読み込み)できます。Windows 8.1 以降では、スペースを節約するために .pf ファイルは MAM 圧縮形式(LZXPRESS Huffman エンコーディング)で保存されます。Windows はフォルダの制限(古いリリースでは128エントリ、Windows 10 以降では1,024エントリ)を維持するために、古い .pf ファイルを計画的に上書きします。
Windows 環境でタスクを実行すると Prefetch フォルダのサイズが大きくなり、時には数百メガバイトに達することもあります。Prefetch フォルダが大きいことは、システムの設定が不適切であることを示すものではありません。むしろ、システムがアプリケーションの読み込みに対して十分に最適化されていることを示しています。.pf ファイルは Windows 内から削除できますが、Windows がそれらをゼロから再構築する必要があり、アプリケーションの起動時間が一時的に遅くなるため、削除は推奨されません。デジタルフォレンジックの調査官は .pf ファイルを非常に重視しています。Windows 8 以降では、各ファイルに最大 8つのタイムスタンプ と累積実行回数が記録されるため、どのプログラムが、いつ、何回実行されたかを証明するための主要なアーティファクト(証拠物件)となります。
プリフェッチ機能の設定は、レジストリの HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters の設定を編集することで変更できます。一部のアプリケーションでは、独自のプリフェッチ ID を制御するために /prefetch:<number> コマンドライン引数を受け付けることもあります。
セキュリティと安全性
リスク: LOW.pf ファイルは不活性なメタデータであり、実行されることはありません。削除しても安全ですが、通常は無意味です。Windows が再構築を行い、次に各アプリを起動する際に一時的に遅くなるだけです。真の懸念はプライバシーとフォレンジックです。.pf は「何をいつ実行したか」を記録するため、「アンチフォレンジック」ツールはプリフェッチを消去します。通常設定のシステムでプリフェッチが存在しないこと自体が、不審な兆候(レッドフラグ)となる場合があります。システムファイルに似せて命名されたマルウェアであっても、実行されたことを証明する .pf ファイルが残ります。
形式の詳細
概要PF ファイルを開くプログラム
PECmd.exe -f file.pf(またはフォルダに対しては -d)を実行して、MAM 圧縮された Windows 10/11 ファイルを含むすべてのメタデータを解析し、CSV に出力します。 技術的詳細
詳細仕様| フォーマットタイプ | 独自のバイナリキャッシュファイル。SCCA (SuperFetch Cache Common Architecture) 形式 |
| マジックバイト | バイトオフセット 4 に SCCA (非圧縮時)、オフセット 0 に MAM\x04 (MAM 圧縮時、Windows 8.1 以降) |
| バイト順序 | リトルエンディアン |
| エンコーディング | バイナリ |
| 圧縮 | Windows XP から 8 まではなし。Windows 8.1 以降は LZXPRESS Huffman (MAM ラッパー) |
| フォーマットバージョン | v17 (0x11) XP/2003、v23 (0x17) Vista/7、v26 (0x1A) Windows 8、v30 (0x1E) Windows 10、v31 (0x1F) Windows 11 |
| ファイル命名規則 | NAME-XXXXXXXX.pf - プログラム名に実行ファイルのフルパスの 8 文字の 16 進数ハッシュを付加 |
| デフォルトの保存パス | C:\Windows\Prefetch\ |
| 一般的なファイルサイズ | 実行ファイルあたり 5 KB - 250 KB |
| フォルダエントリ制限 | 128 ファイル (Windows XP - 8)、1,024 ファイル (Windows 10 以降) |
| 実行時間の記録 | 最終実行タイムスタンプ 1 つ (XP/Vista/7)、最大 8 つのタイムスタンプと実行回数 (Windows 8 以降) |
| スタートアップトレース深度 | 実行開始から約 10 秒以内に読み込まれたファイルパス、DLL、リソースを記録 |
| 作成者 | Windows OS - メモリマネージャーのプリフェッチャーコンポーネント。ユーザーアプリケーションによって作成されるものではありません |
| フォレンジックの関連性 | 実行証拠のための主要なデジタルフォレンジックアーティファクト。プログラムが実行されたこと、その回数、および直近 8 回の実行時刻を証明します |
| リリース日 | Windows XP (2001) |
| 最新バージョン | Format version 30/31 (Windows 10/11); MAM-compressed since Windows 8 (2012) |
| 仕様書 | www.forensicswiki.org |
PF の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PF ファイルについて最初の質問をしてみましょう。