|
| Section (const details::pe_section &header) |
|
| Section ()=default |
|
| Section (std::string name) |
|
| Section (std::string name, std::vector< uint8_t > content) |
|
Section & | operator= (const Section &)=default |
|
| Section (const Section &)=default |
|
| ~Section () override=default |
|
uint32_t | sizeof_raw_data () const |
| Return the size of the data in the section.
|
|
uint32_t | virtual_size () const |
| Return the size of the data when mapped in memory.
|
|
span< const uint8_t > | content () const override |
| The actual content of the section.
|
|
span< const uint8_t > | padding () const |
| Content of the section's padding area.
|
|
uint32_t | pointerto_raw_data () const |
| The offset of the section data in the PE file.
|
|
uint32_t | pointerto_relocation () const |
| The file pointer to the beginning of the COFF relocation entries for the section. This is set to zero for executable images or if there are no relocations.
|
|
uint32_t | pointerto_line_numbers () const |
| The file pointer to the beginning of line-number entries for the section. This is set to zero if there are no COFF line numbers. This value should be zero for an image because COFF debugging information is deprecated and modern debug information relies on the PDB files.
|
|
uint16_t | numberof_relocations () const |
| No longer used in recent PE binaries produced by Visual Studio.
|
|
uint16_t | numberof_line_numbers () const |
| No longer used in recent PE binaries produced by Visual Studio.
|
|
uint32_t | characteristics () const |
| Characteristics of the section: it provides information about the permissions of the section when mapped. It can also provide information about the purpose of the section (contain code, BSS-like, ...)
|
|
bool | has_characteristic (CHARACTERISTICS c) const |
| Check if the section has the given CHARACTERISTICS.
|
|
std::vector< CHARACTERISTICS > | characteristics_list () const |
| List of the section characteristics.
|
|
bool | is_discardable () const |
| True if the section can be discarded as needed.
|
|
void | clear (uint8_t c) |
| Fill the content of the section with the given char
|
|
void | content (const std::vector< uint8_t > &data) override |
| Change section content.
|
|
void | name (std::string name) override |
| Change the section's name.
|
|
void | virtual_size (uint32_t virtual_sz) |
|
void | pointerto_raw_data (uint32_t ptr) |
|
void | pointerto_relocation (uint32_t ptr) |
|
void | pointerto_line_numbers (uint32_t ptr) |
|
void | numberof_relocations (uint16_t nb) |
|
void | numberof_line_numbers (uint16_t nb) |
|
void | sizeof_raw_data (uint32_t size) |
|
void | characteristics (uint32_t characteristics) |
|
COFF::String * | coff_string () |
| Return the COFF string associated with the section's name (or a nullptr)
|
|
const COFF::String * | coff_string () const |
|
Section & | remove_characteristic (CHARACTERISTICS characteristic) |
|
Section & | add_characteristic (CHARACTERISTICS characteristic) |
|
std::unique_ptr< SpanStream > | stream () const |
|
span< uint8_t > | writable_content () |
|
void | accept (Visitor &visitor) const override |
|
virtual std::string | name () const |
| section's name
|
|
| Section ()=default |
|
| Section (std::string name) |
|
| ~Section () override=default |
|
Section & | operator= (const Section &)=default |
|
| Section (const Section &)=default |
|
virtual const std::string & | fullname () const |
| Return the complete section's name which might trailing (0 ) bytes.
|
|
virtual void | size (uint64_t size) |
| Change the section size.
|
|
virtual uint64_t | size () const |
| section's size (size in the binary, not the virtual size)
|
|
virtual uint64_t | offset () const |
| Offset in the binary.
|
|
virtual uint64_t | virtual_address () const |
| Address where the section should be mapped.
|
|
virtual void | virtual_address (uint64_t virtual_address) |
|
virtual void | offset (uint64_t offset) |
|
double | entropy () const |
| Section's entropy.
|
|
size_t | search (uint64_t integer, size_t pos, size_t size) const |
|
size_t | search (const std::vector< uint8_t > &pattern, size_t pos=0) const |
|
size_t | search (const std::string &pattern, size_t pos=0) const |
|
size_t | search (uint64_t integer, size_t pos=0) const |
|
std::vector< size_t > | search_all (uint64_t v, size_t size) const |
|
std::vector< size_t > | search_all (uint64_t v) const |
|
std::vector< size_t > | search_all (const std::string &v) const |
|
void | accept (Visitor &visitor) const override |
| Method so that the visitor can visit us.
|
|
| Object () |
|
| Object (const Object &other) |
|
Object & | operator= (const Object &other) |
|
template<class T > |
output_t< T > | as () |
|
template<class T > |
output_const_t< T > | as () const |
|
virtual bool | operator== (const Object &other) const |
|
virtual bool | operator!= (const Object &other) const |
|
virtual | ~Object () |
|
Class which represents a PE section.