7 releases (4 breaking)

0.5.1 Nov 20, 2023
0.5.0 Sep 4, 2023
0.4.0 May 27, 2023
0.3.1 Apr 21, 2023
0.1.0 Apr 18, 2023

#1619 in Command line utilities

MIT license

59KB
769 lines

PE Parser

Build & Test Fuzzing

A blazing fast 🔥 PE Parser written in Rust

Motivation

The main goals of pe-parser is to write something suitable for a PE Loader.

Is editing supported?

Currently no, but it wouldn't be too difficult to add from the current backbone.

How does it handle unsual or malformed PEs?

As long as the PE conforms to the standard outlined in Microsoft's documentation, it should read fine. Malformed PEs would likely run into issues of either returning an error or misreading data.

What is parsed right now?

  • COFF Header
  • Optional Header
  • Data Directories
  • Section Tables/Headers

What is not parsed yet?

  • COFF Relocations
  • COFF Line Numbers
  • COFF Symbol Table
  • COFF String Table
  • Certificate Table
  • Delay-Load Import Table
  • .debug Section
  • .drectve Section
  • .edata Section
  • .idata Section
  • .pdata Section
  • .reloc Section
  • .tls Section
  • Load Config Structure
  • .rsrc Section
  • .cormeta Section
  • .sxdata Section

Dependencies

~1.5–2.3MB
~43K SLoC