rust-libesedb

Repository Crate Page Documentation License

Safe Rust bindings to libyal/libesedb (via libesedb-sys).

```rust use libesedb::EseDb;

fn main() { let filename = std::env::args() .nth(1) .unwrapor("Catalog1.edb".tostring()); let db = EseDb::open(filename).unwrap(); println!("Db load finished!"); let string = db.tablebyname("string").unwrap(); for rec in string.iterrecords().unwrap() { let rec = rec.unwrap(); let vals = rec.itervalues().unwrap().map(|v| v.unwrapordefault().to_string()).collect::>(); println!("{}", vals.join("\t")); } } ```

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

Project TODO

License and Acknowledgement

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

The time crate (used in FILETIME/OLETIME conversions) is available under the MIT License.

The core functionality that this library binds to is the hard work of Joachim Metz (~joachimmetz).