|
LIEF: Library to Instrument Executable Formats Version 0.17.1
|
#include <ResourceDirectory.hpp>


Public Member Functions | |
| ResourceDirectory () | |
| ResourceDirectory (uint32_t id) | |
| ResourceDirectory (const details::pe_resource_directory_table &header) | |
| ResourceDirectory (const ResourceDirectory &other)=default | |
| ResourceDirectory & | operator= (const ResourceDirectory &other)=default |
| void | swap (ResourceDirectory &other) noexcept |
| ~ResourceDirectory () override=default | |
| std::unique_ptr< ResourceNode > | clone () const override |
| uint32_t | characteristics () const |
| Resource characteristics. This field is reserved for future use. It is currently set to zero. | |
| uint32_t | time_date_stamp () const |
| The time that the resource data was created by the resource compiler. | |
| uint16_t | major_version () const |
| The major version number, set by the user. | |
| uint16_t | minor_version () const |
| The minor version number, set by the user. | |
| uint16_t | numberof_name_entries () const |
| The number of directory entries immediately following the table that use strings to identify Type, Name, or Language entries (depending on the level of the table). | |
| uint16_t | numberof_id_entries () const |
| The number of directory entries immediately following the Name entries that use numeric IDs for Type, Name, or Language entries. | |
| void | characteristics (uint32_t characteristics) |
| void | time_date_stamp (uint32_t time_date_stamp) |
| void | major_version (uint16_t major_version) |
| void | minor_version (uint16_t minor_version) |
| void | numberof_name_entries (uint16_t numberof_name_entries) |
| void | numberof_id_entries (uint16_t numberof_id_entries) |
| void | accept (Visitor &visitor) const override |
| Public Member Functions inherited from LIEF::PE::ResourceNode | |
| ResourceNode (const ResourceNode &other) | |
| ResourceNode & | operator= (const ResourceNode &other) |
| ResourceNode (ResourceNode &&other)=default | |
| ResourceNode & | operator= (ResourceNode &&other)=default |
| void | swap (ResourceNode &other) |
| ~ResourceNode () override | |
| uint32_t | id () const |
| Integer that identifies the Type, Name, or Language ID of the entry depending on its depth in the tree. | |
| const std::u16string & | name () const |
| Name of the entry (if any). | |
| std::string | utf8_name () const |
| UTF-8 representation of the name(). | |
| it_childs | childs () |
| Iterator on node's children. | |
| it_const_childs | childs () const |
| bool | has_name () const |
| True if the entry uses a name as ID | |
| uint32_t | depth () const |
| Current depth of the Node in the resource tree. | |
| bool | is_directory () const |
| True if the current entry is a ResourceDirectory. | |
| bool | is_data () const |
| True if the current entry is a ResourceData. | |
| void | id (uint32_t id) |
| void | name (const std::string &name) |
| void | name (std::u16string name) |
| ResourceNode & | add_child (std::unique_ptr< ResourceNode > child) |
| Add a new child to the current node, taking the ownership of the provided unique_ptr. | |
| ResourceNode & | add_child (const ResourceNode &child) |
| Add a new child to the current node. | |
| void | delete_child (uint32_t id) |
| Delete the node with the given id. | |
| void | delete_child (const ResourceNode &node) |
| Delete the given node from the node's children. | |
| void | accept (Visitor &visitor) const override |
| template<class T> | |
| const T * | cast () const |
| template<class T> | |
| T * | cast () |
| std::string | to_string () const |
| void | push_child (std::unique_ptr< ResourceNode > node) |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| 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 () |
Static Public Member Functions | |
| static bool | classof (const ResourceNode *node) |
| Static Public Member Functions inherited from LIEF::PE::ResourceNode | |
| static std::unique_ptr< ResourceNode > | parse (BinaryStream &stream, uint64_t rva) |
| Parse the resource tree from the provided BinaryStream stream and with the original RVA provided in the second parameter. | |
| static std::unique_ptr< ResourceNode > | parse (const uint8_t *buffer, size_t size, uint64_t rva) |
| Parse the resource tree from the provided buffer referenced by a pointer and the size. The second parameter is the RVA where the resource is (or was) located. | |
| static std::unique_ptr< ResourceNode > | parse (const std::vector< uint8_t > &buffer, uint64_t rva) |
| See doc from other parse functions. | |
| static std::unique_ptr< ResourceNode > | parse (span< const uint8_t > buffer, uint64_t rva) |
| See doc from other parse functions. | |
| static std::unique_ptr< ResourceNode > | parse (BinaryStream &stream, const Binary &bin) |
Additional Inherited Members | |
| Public Types inherited from LIEF::PE::ResourceNode | |
| enum class | TYPE { UNKNOWN = 0 , DATA , DIRECTORY } |
| Enum that identifies the type of a node in the resource tree. More... | |
| using | childs_t = std::vector<std::unique_ptr<ResourceNode>> |
| using | it_childs = ref_iterator<childs_t&, ResourceNode*> |
| using | it_const_childs = const_ref_iterator<const childs_t&, ResourceNode*> |
| 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>>> |
|
inline |
References LIEF::PE::ResourceNode::DIRECTORY, and LIEF::PE::ResourceNode::ResourceNode().
Referenced by clone(), operator=(), ResourceDirectory(), and swap().
|
inline |
References LIEF::PE::ResourceNode::DIRECTORY, and LIEF::PE::ResourceNode::ResourceNode().
| LIEF::PE::ResourceDirectory::ResourceDirectory | ( | const details::pe_resource_directory_table & | header | ) |
|
default |
References ResourceDirectory().
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
|
inline |
Resource characteristics. This field is reserved for future use. It is currently set to zero.
Referenced by characteristics().
|
inline |
References characteristics().
|
inlinestatic |
|
inlineoverridevirtual |
Implements LIEF::PE::ResourceNode.
References ResourceDirectory().
|
inline |
The major version number, set by the user.
Referenced by major_version().
|
inline |
References major_version().
|
inline |
The minor version number, set by the user.
Referenced by minor_version().
|
inline |
References minor_version().
|
inline |
The number of directory entries immediately following the Name entries that use numeric IDs for Type, Name, or Language entries.
Referenced by numberof_id_entries().
|
inline |
References numberof_id_entries().
|
inline |
The number of directory entries immediately following the table that use strings to identify Type, Name, or Language entries (depending on the level of the table).
Referenced by numberof_name_entries().
|
inline |
References numberof_name_entries().
|
default |
References ResourceDirectory().
|
noexcept |
References ResourceDirectory().
|
inline |
The time that the resource data was created by the resource compiler.
Referenced by time_date_stamp().
|
inline |
References time_date_stamp().