# ThumbsDB [![Crates.io](https://img.shields.io/crates/v/thumbsdb.svg)](https://crates.io/crates/thumbsdb) [![Crates.io](https://img.shields.io/crates/d/thumbsdb.svg)](https://crates.io/crates/thumbsdb) [![license](http://img.shields.io/badge/license-WTFPL-blue.svg)](https://github.com/zadlg/thumbsdb/blob/master/LICENSE) 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. ## Usage Add this to your `Cargo.toml`: ```toml [dependencies] thumbsdb = "0.1.2" ``` and this to your crate root: ```rust extern crate thumbsdb; ``` ## Example ```rust 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::::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[..]); } ``` ## Releases Release notes are available in [RELEASES.md](RELEASES.md). ## Compatibility `thumbsdb` seems to work for rust 1.9 and greater. ## License