我使用该库来解析预取文件。 https://github.com/EricZimmerman/Prefetch 文件的输出路径存在问题。由于某种原因,给出了未知的磁盘。下面的屏幕快照显示了我的磁盘,并在输出中产生了预取(示例):
\VOLUME{01d3da29987eda86-8a98b829}\WINDOWS\SYSTEM32\AUDIODG.EXE
示例:
var pf = PrefetchFile.Open(@"C:\Windows\Prefetch\AUDIODG.EXE-5FB9CF9A.pf");
if (!String.IsNullOrWhiteSpace(pf.ToString()))
{
var sb = new StringBuilder();
string name = @pf.Header.ExecutableFilename.ToString();
string ext = Path.GetExtension(name);
var listpathes = pf.Filenames.Where(word => word.IndexOf(ext, StringComparison.InvariantCultureIgnoreCase) >= 0).ToList();
//var result = String.Join(", ", listpathes.ToArray());
FileInfo pfdate = new FileInfo(f.FullName);
string sourcefilename = pf.SourceFilename.ToString();
//sb.AppendLine(result + Environment.NewLine); //paths list to all related dll and others ??????????????
sb.AppendLine(listpathes[0] + Environment.NewLine); // path ????????????
sb.AppendLine(pfdate.LastWriteTime + Environment.NewLine); //last write date
sb.AppendLine(sourcefilename + Environment.NewLine); //name
sb.AppendLine(ext + Environment.NewLine); // *.exe
MessageBox.Show(sb.ToString());
}
该卷ID来自何处? 还是如何获取文件的真实路径?
答案 0 :(得分:1)
嗨,我是您使用的Prefetch解析器的作者。
它应该在已安装的设备和安装点中。这是存储量guid
已执行文件的完整路径在“文件引用”集合中。
从命令行使用pecmd转储pf文件,然后以黄色查找文件条目
那是完整路径