LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
LIEF::DEX::Header Class Reference

Class which represents the DEX header. This is the first structure that begins the DEX format. More...

#include <Header.hpp>

Inheritance diagram for LIEF::DEX::Header:
Inheritance graph
[legend]
Collaboration diagram for LIEF::DEX::Header:
Collaboration graph
[legend]

Public Types

using location_t = std::pair<uint32_t, uint32_t>
 
using magic_t = std::array<uint8_t, 8>
 
using signature_t = std::array<uint8_t, 20>
 
- 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

 Header (const Header &)
 
Headeroperator= (const Header &)
 
template<class T >
 Header (const T &header)
 
magic_t magic () const
 The DEX magic bytes (DEX\n followed by the DEX version)
 
uint32_t checksum () const
 The file checksum.
 
signature_t signature () const
 SHA-1 DEX signature (which is not really used as a signature)
 
uint32_t file_size () const
 Size of the entire file (including the current the header)
 
uint32_t header_size () const
 Size of this header. It should be 0x70.
 
uint32_t endian_tag () const
 File endianess of the file.
 
uint32_t map () const
 Offset from the start of the file to the map list (see: DEX::MapList)
 
location_t strings () const
 Offset and size of the string pool.
 
location_t link () const
 
location_t types () const
 
location_t prototypes () const
 
location_t fields () const
 
location_t methods () const
 
location_t classes () const
 
location_t data () const
 
uint32_t nb_classes () const
 
uint32_t nb_methods () const
 
void accept (Visitor &visitor) const override
 
- Public Member Functions inherited from LIEF::Object
 Object (const Object &other)
 
Objectoperator= (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
 

Detailed Description

Class which represents the DEX header. This is the first structure that begins the DEX format.

The official documentation is provided here: https://source.android.com/devices/tech/dalvik/dex-format#header-item

Member Function Documentation

◆ accept()

void LIEF::DEX::Header::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.


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