libesedb 0.1.1

A safe Rust API for libesedb
Documentation

rust-libesedb

Repository Crate Page Documentation License

Safe Rust API to libesedb (via libesedb-sys).

use libesedb::EseDb;

fn main() {
    let filename = std::env::args()
        .nth(1)
        .unwrap_or("Catalog1.edb".to_string());
    let db = EseDb::open(filename).unwrap();
    println!("Db load finished!");
    let string = db.table_by_name("string").unwrap();
    for rec in string.iter_records().unwrap() {
        let rec = rec.unwrap();
        let vals = rec.iter_values().unwrap().map(|v| v.unwrap_or_default().to_string()).collect::<Vec<_>>();
        println!("{}", vals.join("\t"));
    }
}

A tests/CacheStorage.edb can be obtained from from AppData\Local\Packages\Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy\AppData\CacheStorage

Project TODO

  • Document build.rs (modifying for leaf pages, etc)
  • Investigate cc features = ["parallel"] for faster builds
  • Document function names and purposes

License

This project is made available under the LGPL-3.0-or-later.