LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This structure is used to configure the build operation. More...
#include <Builder.hpp>
Public Types | |
using | resolved_iat_cbk_t |
Public Attributes | |
bool | imports = false |
Whether the builder should reconstruct the imports table. This option should be turned on if you modify imports. | |
bool | exports = false |
Whether the builder should reconstruct the export table This option should be turned on if you modify exports. | |
bool | resources = true |
Whether the builder should regenerate the resources tree. | |
bool | relocations = true |
Whether the builder should regenerate relocations. | |
bool | load_configuration = true |
Whether the builder should regenerate the load config. | |
bool | tls = true |
Whether the builder should regenerate the TLS info. | |
bool | overlay = true |
Whether the builder should write back any overlay data. | |
bool | debug = true |
Whether the builder should regenerate debug entries. | |
bool | dos_stub = true |
Whether the builder should write back dos stub (including the rich header) | |
std::string | rsrc_section = ".rsrc" |
If the resources tree needs to be relocated, this defines the name of the new section that contains the relocated tree. | |
std::string | idata_section = ".idata" |
Section that holds the relocated import table (IAT/ILT) | |
std::string | tls_section = ".tls" |
Section that holds the relocated TLS info. | |
std::string | reloc_section = ".reloc" |
Section that holds the relocated relocations. | |
std::string | export_section = ".edata" |
Section that holds the export table. | |
std::string | debug_section = ".debug" |
Section that holds the debug entries. | |
resolved_iat_cbk_t | resolved_iat_cbk = nullptr |
This structure is used to configure the build operation.
The default value of these attributes is set to false
if the operation modifies the binary layout even though nothing changed. For instance, building the import table always requires relocating the table to another place. Thus, the default value is false and must be explicitly set to true.
bool LIEF::PE::Builder::config_t::debug = true |
Whether the builder should regenerate debug entries.
std::string LIEF::PE::Builder::config_t::debug_section = ".debug" |
Section that holds the debug entries.
bool LIEF::PE::Builder::config_t::dos_stub = true |
Whether the builder should write back dos stub (including the rich header)
std::string LIEF::PE::Builder::config_t::export_section = ".edata" |
Section that holds the export table.
bool LIEF::PE::Builder::config_t::exports = false |
Whether the builder should reconstruct the export table This option should be turned on if you modify exports.
Please check LIEF website for more details
std::string LIEF::PE::Builder::config_t::idata_section = ".idata" |
Section that holds the relocated import table (IAT/ILT)
bool LIEF::PE::Builder::config_t::imports = false |
Whether the builder should reconstruct the imports table. This option should be turned on if you modify imports.
Please check LIEF website for more details
bool LIEF::PE::Builder::config_t::load_configuration = true |
Whether the builder should regenerate the load config.
bool LIEF::PE::Builder::config_t::overlay = true |
Whether the builder should write back any overlay data.
std::string LIEF::PE::Builder::config_t::reloc_section = ".reloc" |
Section that holds the relocated relocations.
bool LIEF::PE::Builder::config_t::relocations = true |
Whether the builder should regenerate relocations.
resolved_iat_cbk_t LIEF::PE::Builder::config_t::resolved_iat_cbk = nullptr |
bool LIEF::PE::Builder::config_t::resources = true |
Whether the builder should regenerate the resources tree.
std::string LIEF::PE::Builder::config_t::rsrc_section = ".rsrc" |
If the resources tree needs to be relocated, this defines the name of the new section that contains the relocated tree.
bool LIEF::PE::Builder::config_t::tls = true |
Whether the builder should regenerate the TLS info.
std::string LIEF::PE::Builder::config_t::tls_section = ".tls" |