LIEF: Library to Instrument Executable Formats Version 0.15.1
|
Class that represents a function in the binary. More...
#include <Function.hpp>
Public Types | |
enum class | FLAGS { NONE = 0 , CONSTRUCTOR , DESTRUCTOR , DEBUG_INFO , EXPORTED , IMPORTED } |
Flags used to characterize the semantic of the function. More... | |
using | flags_list_t = std::vector<FLAGS> |
using | flags_t = std::set<FLAGS> |
Public Types inherited from LIEF::Object | |
template<class T > | |
using | output_t = add_pointer_t<decay_t<T>> |
template<class T > | |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
Function () | |
Function (const std::string &name) | |
Function (uint64_t address) | |
Function (const std::string &name, uint64_t address) | |
Function (const std::string &name, uint64_t address, const flags_list_t &flags) | |
Function (const Function &) | |
Function & | operator= (const Function &) |
~Function () override | |
flags_list_t | flags () const |
List of FLAGS. | |
Function & | add (FLAGS f) |
Add a flag to the current function. | |
uint64_t | address () const |
Address of the current function. For functions that are set with the FLAGS::IMPORTED flag, this value is likely 0. | |
void | address (uint64_t address) |
void | accept (Visitor &visitor) const override |
Method so that the visitor can visit us. | |
Public Member Functions inherited from LIEF::Symbol | |
Symbol ()=default | |
Symbol (std::string name) | |
Symbol (std::string name, uint64_t value) | |
Symbol (std::string name, uint64_t value, uint64_t size) | |
Symbol (const Symbol &)=default | |
Symbol & | operator= (const Symbol &)=default |
~Symbol () override=default | |
void | swap (Symbol &other) noexcept |
virtual const std::string & | name () const |
Return the symbol's name. | |
virtual std::string & | name () |
virtual void | name (std::string name) |
Set symbol name. | |
virtual uint64_t | value () const |
virtual void | value (uint64_t value) |
virtual uint64_t | size () const |
This size of the symbol (when applicable) | |
virtual void | size (uint64_t value) |
void | accept (Visitor &visitor) const override |
Method so that the visitor can visit us. | |
Public Member Functions inherited from LIEF::Object | |
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 that represents a function in the binary.
using LIEF::Function::flags_list_t = std::vector<FLAGS> |
using LIEF::Function::flags_t = std::set<FLAGS> |
|
strong |
Flags used to characterize the semantic of the function.
Enumerator | |
---|---|
NONE | |
CONSTRUCTOR | The function acts as constructor. Usually this flag is associated with functions that are located in the |
DESTRUCTOR | The function acts a destructor. Usually this flag is associated with functions that are located in the |
DEBUG_INFO | The function is associated with Debug information. |
EXPORTED | The function is exported by the binary and the address() method returns its virtual address in the binary. |
IMPORTED | The function is imported by the binary and the address() should return 0. |
LIEF::Function::Function | ( | ) |
LIEF::Function::Function | ( | const std::string & | name | ) |
LIEF::Function::Function | ( | uint64_t | address | ) |
LIEF::Function::Function | ( | const std::string & | name, |
uint64_t | address ) |
LIEF::Function::Function | ( | const std::string & | name, |
uint64_t | address, | ||
const flags_list_t & | flags ) |
LIEF::Function::Function | ( | const Function & | ) |
|
override |
|
overridevirtual |
Method so that the visitor
can visit us.
Implements LIEF::Object.
uint64_t LIEF::Function::address | ( | ) | const |
Address of the current function. For functions that are set with the FLAGS::IMPORTED flag, this value is likely 0.
void LIEF::Function::address | ( | uint64_t | address | ) |
flags_list_t LIEF::Function::flags | ( | ) | const |
List of FLAGS.