PE File modification and execution library that is OS independent. It is written against the official Microsoft PE COFF standard document.

PE specification Version June 2016.

Do you want to write an assembler, compiler or linker that handles PE images? Then consider using this library. It provides access to every documented PE image variable (data directories, optional header, sections). The library provides useful debug messages if it detects structural damage inside PE images, using an exception system.

Learn more on how to use this library here.

How to Build

To correctly build the C++ source code you need

Check-out the source code from ‘’. Navigate into “Build” and open “peframework.sln” to find the main solution file.


PEFramework depends on the following modules. They have to be placed in the same directory.

Using PEFramework

If you want to use this library in your own project you are meant to create a “vendor” directory in which you perform a “check-out” of it along with the listed dependencies. Here is a tutorial on how to set up your SVN repository.

Recommended vendor name: peframework