exe 0.3.1

A PE (Portable Executable) library!
Documentation

exe-rs

The PE Executable Library, but for Rust!

This library is tested on the Corkami corpus!

Read the documentation here!

Changelog

0.3.1

  • PE object can now parse memory dumps properly, testing against compiled_dumped.bin.
  • data directory is now parsed correctly, testing against no_dd.exe
  • buffer now has support for arbitrary hashing of u8 slices, see the HashData trait in the buffer module.
  • buffer now also supports arbitrary calculation of entropy on u8 slices, see the Entropy trait in the buffer module.
  • buffers can now be dumped to disk (novel!) see Buffer::save.
  • add functionality to ImageSectionHeader such as reading data and calculating proper offsets to data.
  • all headers in the headers module now implement clone!
  • fixed a bug where RVAs got translated incorrectly if they had no Offset equivalent

0.3

  • added support for relocation directories
  • moved PE headers into the headers module to differentiate them from Rust types
  • added alignment validation for NT headers
  • allow for mutable ImageImportByName structure
  • fixed a bug where import thunks weren't properly parsed, now tested against imports_nothunk.exe
  • fixed a bug in the default file headers for x64 architectures

0.2

  • crate is published!
  • add support for import and export directories