#thumbnail #file-reader #forensics #db #parser #microsoft #thumbs

thumbsdb

Forensic library: parser and reader for Microsoft Thumbs.db file

3 releases

Uses old Rust 2015

0.1.2 Mar 23, 2018
0.1.1 Mar 22, 2018
0.1.0 Mar 22, 2018

#2325 in Parser implementations


Used in thumbsdbkit

WTFPL license

69KB
274 lines

ThumbsDB

Crates.io Crates.io 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:

[dependencies]
thumbsdb = "0.1.2"

and this to your crate root:

extern crate thumbsdb;

Example

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[..]);
}

Releases

Release notes are available in RELEASES.md.

Compatibility

thumbsdb seems to work for rust 1.9 and greater.

License

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

Dependencies

~595KB