#prefetch #forensics #parser #library #validation

libprefetch

法医学库;用于解析和读取微软Prefetch文件的解析器和读取器

2个版本

使用旧的Rust 2015

0.1.1 2018年3月23日
0.1.0 2018年3月23日

#1664 in 解析器实现


用于prefetchkit

WTFPL许可

135KB
814

libprefetch

Crates.io Crates.io license

一个用于解析和读取微软Prefetch文件的法医学库。

libprefetch完全支持以下版本的Windows

  • Windows 2003
  • Windows XP
  • Windows Vista
  • Windows 7
  • Windows 8/8.1

libprefetch对Windows 10的**部分**支持。

功能

  • 解析器和验证器
  • 自动检测Windows版本
  • 提供最后执行时间和执行计数器
  • 提供有关加载的文件(如dll等)的度量信息(如果可用),例如
    • 文件名
    • 开始时间
    • 持续时间
    • 平均持续时间
    • NTFS MFT条目
    • NTFS序列号
  • 提供跟踪链(Windows 10不可用)
  • 提供有关卷的所有信息
    • 设备路径
    • 创建时间
    • 序列号
    • 目录列表

此库很快将在全球法医学计算库中使用。

用法

将此添加到您的Cargo.toml

[dependencies]
libprefetch = "0.1.1"

并将此添加到您的crate根目录

extern crate libprefetch;

示例

use libprefetch::Prefetch;

let file = std::fs::File::open("assets/WUAUCLT.EXE-399A8E72.pf").unwrap();

let prefetch = Prefetch::new(file).unwrap();

// Prints some information
println!("Executable {} launched {} times. The last time was: {}",
  prefetch.name(),
  prefetch.execution_counter(),
  prefetch.last_execution_time() // TODO: format the FILETIME here
);

// Iterates over all loaded DLL etc for the prefetch file
println!(" ===== File metrics ===== ");
for metric in prefetch.metrics().unwrap() {
  println!("#{}: {}", metric.id(), metric.filename());
  println!("    start time: {}", metric.start_time().unwrap());
  println!("    duration: {}", metric.duration().unwrap());
  println!(" ------------------------------- ");
}

// Iterates over the volumes
println!(" ===== Volumes ===== ");
for volume in prefetch.volumes().unwrap() {
  println!("Volume #{}:", volume.id());
  println!("    Path: {}", volume.device_path());
  println!("    Creation time: {}", volume.creation_time());
  println!("    Serial number: {}", volume.serial_number());
  println!("    Directories: ");
  for directory in volume.directories().unwrap() {
    println!("        {}", directory);
  }
}


版本

版本说明可在RELEASES.md中找到。

兼容性

libprefetch似乎适用于Rust 1.9及以上版本。

许可

http://www.wtfpl.net/about/

无运行时依赖