LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::Builder Class Reference

Class that is used to rebuild a raw PE binary from a PE::Binary object. More...

#include <Builder.hpp>

Classes

struct  config_t
 This structure is used to configure the build operation. More...
 

Public Member Functions

 Builder ()=delete
 
 Builder (Binary &binary, const config_t &config)
 
 ~Builder ()
 
ok_error_t build ()
 Perform the build process.
 
const std::vector< uint8_t > & get_build ()
 Return the build result.
 
void write (const std::string &filename) const
 Write the build result into the output file.
 
void write (std::ostream &os) const
 Write the build result into the os stream.
 
ok_error_t build (const DosHeader &dos_header)
 
ok_error_t build (const Header &header)
 
ok_error_t build (const OptionalHeader &optional_header)
 
ok_error_t build (const DataDirectory &data_directory)
 
ok_error_t build (const Section &section)
 
ok_error_t build_overlay ()
 
ok_error_t build_relocations ()
 
ok_error_t build_resources ()
 
ok_error_t build_debug_info ()
 
ok_error_t build_exports ()
 
template<typename PE_T >
ok_error_t build_imports ()
 
template<typename PE_T >
ok_error_t build_tls ()
 
template<typename PE_T >
ok_error_t build_load_config ()
 
const std::vector< uint8_t > & rsrc_data () const
 

Detailed Description

Class that is used to rebuild a raw PE binary from a PE::Binary object.

Constructor & Destructor Documentation

◆ Builder() [1/2]

LIEF::PE::Builder::Builder ( )
delete

◆ Builder() [2/2]

LIEF::PE::Builder::Builder ( Binary & binary,
const config_t & config )
inline

◆ ~Builder()

LIEF::PE::Builder::~Builder ( )

Member Function Documentation

◆ build() [1/6]

ok_error_t LIEF::PE::Builder::build ( )

Perform the build process.

◆ build() [2/6]

ok_error_t LIEF::PE::Builder::build ( const DataDirectory & data_directory)

◆ build() [3/6]

ok_error_t LIEF::PE::Builder::build ( const DosHeader & dos_header)

◆ build() [4/6]

ok_error_t LIEF::PE::Builder::build ( const Header & header)

◆ build() [5/6]

ok_error_t LIEF::PE::Builder::build ( const OptionalHeader & optional_header)

◆ build() [6/6]

ok_error_t LIEF::PE::Builder::build ( const Section & section)

◆ build_debug_info()

ok_error_t LIEF::PE::Builder::build_debug_info ( )

◆ build_exports()

ok_error_t LIEF::PE::Builder::build_exports ( )

◆ build_imports()

template<typename PE_T >
ok_error_t LIEF::PE::Builder::build_imports ( )

◆ build_load_config()

template<typename PE_T >
ok_error_t LIEF::PE::Builder::build_load_config ( )

◆ build_overlay()

ok_error_t LIEF::PE::Builder::build_overlay ( )

◆ build_relocations()

ok_error_t LIEF::PE::Builder::build_relocations ( )

◆ build_resources()

ok_error_t LIEF::PE::Builder::build_resources ( )

◆ build_tls()

template<typename PE_T >
ok_error_t LIEF::PE::Builder::build_tls ( )

◆ get_build()

const std::vector< uint8_t > & LIEF::PE::Builder::get_build ( )
inline

Return the build result.

◆ rsrc_data()

const std::vector< uint8_t > & LIEF::PE::Builder::rsrc_data ( ) const
inline

◆ write() [1/2]

void LIEF::PE::Builder::write ( const std::string & filename) const

Write the build result into the output file.

◆ write() [2/2]

void LIEF::PE::Builder::write ( std::ostream & os) const

Write the build result into the os stream.


The documentation for this class was generated from the following file: