Crates.io | thumbsdb |
lib.rs | thumbsdb |
version | 0.1.2 |
source | src |
created_at | 2018-03-22 14:51:11.945305 |
updated_at | 2018-03-23 00:38:10.990749 |
description | Forensic library: parser and reader for Microsoft Thumbs.db file |
homepage | https://github.com/zadlg/thumbsdb |
repository | https://github.com/zadlg/thumbsdb.git |
max_upload_size | |
id | 56898 |
size | 69,374 |
A simple parser and reader for Microsoft Thumbs.db files.
This includes a basic parser, which validates the format of the given file, and a reader for extracting thumbnails.
This library will be used in a global forensic computing library very soon.
Add this to your Cargo.toml
:
[dependencies]
thumbsdb = "0.1.2"
and this to your crate root:
extern crate thumbsdb;
use thumbsdb;
use std::io::Write;
let mut file = std::fs::File::open("assets/Thumbs.db").unwrap();
// We're going to extract the thumbnails from the Thumbs.db
let thumbs = thumbsdb::new(file).unwrap();
for thumbnail in thumbs.iterate() {
let mut buffer = std::vec::Vec::<u8>::new();
thumbs.extract_thumbnail(thumbsnail, &mut buffer);
// Saves the extracted thumbnail
let mut extracted_file = std::fs::File::create(format!("assets/streams/{}",
thumbnail.name())).unwrap();
extracted_file.write_all(&buffer[..]);
}
Release notes are available in RELEASES.md.
thumbsdb
seems to work for rust 1.9 and greater.