
在对 Windows 机器进行取证分析时,你可能会找到已删除的预取文件的名称。虽然其内容可能无法恢复,但文件名本身通常足以找到创建该预取文件的可执行文件的完整路径。
必须提供以下字段:
可执行文件名称
包括扩展名。该名称将嵌入预取文件名中,除非出现以下情况。
预取哈希
预取文件名末尾的 8 位十六进制数字,紧接在 .pf 扩展名之前。
哈希函数
Bodyfile
挂载点
已知有 3 种预取哈希函数:
SCCA XP
用于 Windows XP
SCCA Vista
用于 Windows Vista 和 Windows 10
SCCA 2008
用于 Windows 7、Windows 8 和 Windows 8.1
可执行文件所在卷的 Bodyfile。
Bodyfile 格式限制不严格,因此存在多种变体——其中部分不受支持。使用 fls 和 MFTECmd 创建的 Bodyfile 应能正常工作。
Bodyfile 的挂载点,如下划线标注所示:
0|C:/Users/Peter/Desktop ($FILE_NAME)|62694-48-2|d/d-wx-wx-wx|...提供的 Bodyfile 用于获取卷上每个文件夹的路径。工具将提供的可执行文件名称附加到每个路径上,从而生成可执行文件可能的所有完整路径列表。然后,使用提供的哈希函数对每个可能的完整路径进行哈希计算。如果存在某个完整路径,其哈希结果与提供的哈希值匹配,则输出该路径。
不支持以下情况:
svchost.exe 和 mmc.exe/prefetch:# 标志执行的应用程序如果可执行文件名称超过 29 个字符(包括扩展名),则会在预取文件名中被截断。例如,在 Windows 10 机器上从 C:\Temp 目录执行以下文件:
This is a very long file nameSo this part will be truncated.exe
将导致创建以下预取文件:
THIS IS A VERY LONG FILE NAME-D0B882CC.pf
在这种情况下,无法从预取文件名中推导出可执行文件名称,因此你将无法向工具提供该名称。