预取解析-未知卷磁盘

时间:2019-02-17 20:43:32

标签: c# prefetch

我使用该库来解析预取文件。 https://github.com/EricZimmerman/Prefetch 文件的输出路径存在问题。由于某种原因,给出了未知的磁盘。下面的屏幕快照显示了我的磁盘,并在输出中产生了预取(示例):

\VOLUME{01d3da29987eda86-8a98b829}\WINDOWS\SYSTEM32\AUDIODG.EXE

cmd > mountvol

示例:

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来自何处? 还是如何获取文件的真实路径?

1 个答案:

答案 0 :(得分:1)

嗨,我是您使用的Prefetch解析器的作者。

它应该在已安装的设备和安装点中。这是存储量guid

已执行文件的完整路径在“文件引用”集合中。

从命令行使用pecmd转储pf文件,然后以黄色查找文件条目

那是完整路径