ELF

Parser

lief.ELF.parse(*args) lief.ELF.Binary | None
lief.ELF.parse(raw: list[int], config: lief._lief.ELF.ParserConfig = <lief._lief.ELF.ParserConfig object at 0x7f2ba35dde00>) lief._lief.ELF.Binary | None
lief.ELF.parse(obj: Union[io.IOBase | os.PathLike], config: lief._lief.ELF.ParserConfig = <lief._lief.ELF.ParserConfig object at 0x7f2ba35dddd0>) lief._lief.ELF.Binary | None

Overloaded function.

  1. parse(filename: str, config: lief._lief.ELF.ParserConfig = <lief._lief.ELF.ParserConfig object at 0x7f2ba35dde30>) -> Optional[lief._lief.ELF.Binary]

    Parse the ELF binary from the given file path and return a lief.ELF.Binary object

    The second argument is an optional configuration (ParserConfig) that can be used to define which part(s) of the ELF should be parsed or skipped.

  2. parse(raw: list[int], config: lief._lief.ELF.ParserConfig = <lief._lief.ELF.ParserConfig object at 0x7f2ba35dde00>) -> Optional[lief._lief.ELF.Binary]

    Parse the ELF binary from the given list of bytes and return a lief.ELF.Binary object

    The second argument is an optional configuration (ParserConfig) that can be used to define which part(s) of the ELF should be parsed or skipped.

  3. parse(obj: Union[io.IOBase | os.PathLike], config: lief._lief.ELF.ParserConfig = <lief._lief.ELF.ParserConfig object at 0x7f2ba35dddd0>) -> Optional[lief._lief.ELF.Binary]

    Parse the ELF binary from the given Python object and return a lief.ELF.Binary object

    The second argument is an optional configuration (ParserConfig) that can be used to define which part(s) of the ELF should be parsed or skipped.

class lief.ELF.ParserConfig(self)

Bases: object

This class is used to tweak the ELF Parser

class DYNSYM_COUNT

Bases: object

AUTO = lief._lief.ELF.DYNSYM_COUNT.AUTO
HASH = lief._lief.ELF.DYNSYM_COUNT.HASH
RELOCATIONS = lief._lief.ELF.DYNSYM_COUNT.RELOCATIONS
SECTION = lief._lief.ELF.DYNSYM_COUNT.SECTION
from_value(arg: int) lief.ELF.ParserConfig.DYNSYM_COUNT = <nanobind.nb_func object>
property value int

The underlying integer value

all = <lief._lief.ELF.ParserConfig object>
property count_mtd lief.ELF.ParserConfig.DYNSYM_COUNT

The DYNSYM_COUNT_METHODS to use for counting the dynamic symbols

For weird binaries (e.g sectionless) you can choose the method for counting dynamic symbols (lief.ELF.DYNSYM_COUNT_METHODS). By default, the value is set to lief.ELF.DYNSYM_COUNT_METHODS.COUNT_AUTO

property parse_dyn_symbols bool

Whether dynamic symbols (those from .dynsym) should be parsed

property parse_notes bool

Whether ELF notes information should be parsed

property parse_overlay bool

Whether the overlay data should be parsed

property parse_relocations bool

Whether relocations (including plt-like relocations) should be parsed.

property parse_symbol_versions bool

Whether versioning symbols should be parsed

property parse_symtab_symbols bool

Whether debug symbols (those from .symtab) should be parsed


Binary

class lief.ELF.Binary

Bases: Binary

Class which represents an ELF binary

class PHDR_RELOC

Bases: object

AUTO = lief._lief.ELF.PHDR_RELOC.AUTO
BSS_END = lief._lief.ELF.PHDR_RELOC.BSS_END
FILE_END = lief._lief.ELF.PHDR_RELOC.FILE_END
PIE_SHIFT = lief._lief.ELF.PHDR_RELOC.PIE_SHIFT
SEGMENT_GAP = lief._lief.ELF.PHDR_RELOC.SEGMENT_GAP
add(*args) lief.ELF.DynamicEntry | lief.ELF.Section | lief.ELF.Segment | lief.ELF.Note

Overloaded function.

  1. add(self, arg: lief._lief.ELF.DynamicEntry, /) -> lief._lief.ELF.DynamicEntry

dynamic_entry

  1. add(self, section: lief._lief.ELF.Section, loaded: bool = True) -> lief._lief.ELF.Section

    Add the given Section to the binary.

    If the section does not aim at being loaded in memory, the loaded parameter has to be set to False (default: True)

  2. add(self, segment: lief._lief.ELF.Segment, base: int = 0) -> lief._lief.ELF.Segment

Add a new Segment in the binary

  1. add(self, note: lief._lief.ELF.Note) -> lief._lief.ELF.Note

Add a new Note in the binary

add_dynamic_relocation(self, relocation: lief.ELF.Relocation) lief.ELF.Relocation

Add a new dynamic relocation.

We consider a dynamic relocation as a relocation which is not plt-related.

See: lief.ELF.Binary.add_pltgot_relocation()

add_dynamic_symbol(self, symbol: lief.ELF.Symbol, symbol_version: lief.ELF.SymbolVersion | None) lief.ELF.Symbol

Add a dynamic Symbol to the binary

The function also takes an optional lief.ELF.SymbolVersion

add_exported_function(self, address: int, name: str) lief.ELF.Symbol

Create a symbol for the function at the given address and create an export

add_library(self, library_name: str) lief.ELF.DynamicEntryLibrary

Add a library with the given name as dependency

add_object_relocation(self, relocation: lief.ELF.Relocation, section: lief.ELF.Section) lief.ELF.Relocation

Add relocation for object file (.o)

The first parameter is the section to add while the second parameter is the Section associated with the relocation.

If there is an error, this function returns a nullptr. Otherwise, it returns the relocation added.”,

add_pltgot_relocation(self, relocation: lief.ELF.Relocation) lief.ELF.Relocation

Add a .plt.got relocation. This kind of relocation is usually associated with a PLT stub that aims at resolving the underlying symbol.

See: lief.ELF.Binary.add_dynamic_relocation()

add_symtab_symbol(self, symbol: lief.ELF.Symbol) lief.ELF.Symbol

Add a static Symbol to the binary

property dtor_functions list[lief.Function]

List of the binary destructors (typically, the functions located in the .fini_array)

property dynamic_entries lief.ELF.Binary.it_dynamic_entries

Return an iterator to DynamicEntry entries as a list

property dynamic_relocations lief.ELF.Binary.it_filter_relocation

Return an iterator over dynamics Relocation

property dynamic_symbols lief.ELF.Binary.it_symbols

Return an iterator to dynamic Symbol

dynsym_idx(*args) int

Overloaded function.

  1. dynsym_idx(self, name: str) -> int

    Get the symbol index in the dynamic symbol from the given name or return -1 if the symbol does not exist.

  2. dynsym_idx(self, symbol: lief._lief.ELF.Symbol) -> int

    Get the symbol index in the dynamic symbol table for the given symbol or return -1 if the symbol does not exist

property eof_offset int

Return the last offset used by the ELF binary according to both, the sections table and the segments table.

export_symbol(*args) lief.ELF.Symbol

Overloaded function.

  1. export_symbol(self, symbol: lief._lief.ELF.Symbol) -> lief._lief.ELF.Symbol

Export the given symbol and create an entry if it doesn’t exist

  1. export_symbol(self, symbol_name: str, value: int = 0) -> lief._lief.ELF.Symbol

Export the symbol with the given name and create an entry if it doesn’t exist

property exported_symbols lief.ELF.Binary.it_filter_symbols

Return dynamic Symbol which are exported

extend(*args) lief.ELF.Section | lief.ELF.Segment

Overloaded function.

  1. extend(self, segment: lief._lief.ELF.Segment, size: int) -> lief._lief.ELF.Segment

Extend the given given Segment by the given size

  1. extend(self, segment: lief._lief.ELF.Section, size: int) -> lief._lief.ELF.Section

Extend the given given Section by the given size

property functions list[lief.Function]

List of the functions found the in the binary

get(*args) lief.ELF.Section | lief.ELF.DynamicEntry | lief.ELF.Segment | lief.ELF.Note

Overloaded function.

  1. get(self, tag: lief._lief.ELF.DynamicEntry.TAG) -> lief._lief.ELF.DynamicEntry

    Return the first binary’s DynamicEntry from the given TAG.

    It returns None if the dynamic entry can’t be found.

  2. get(self, type: lief._lief.ELF.Segment.TYPE) -> lief._lief.ELF.Segment

    Return the first binary’s Segment from the given SEGMENT_TYPES

    It returns None if the segment can’t be found.

  3. get(self, type: lief._lief.ELF.Note.TYPE) -> lief._lief.ELF.Note

    Return the first binary’s Note from the given TYPE.

    It returns None if the note can’t be found.

  4. get(self, type: lief._lief.ELF.Section.TYPE) -> lief._lief.ELF.Section

    Return the first binary’s Section from the given ELF_SECTION_TYPES

    It returns None if the section can’t be found.

get_dynamic_symbol(self, symbol_name: str) lief.ELF.Symbol

Get the dynamic symbol from the given name.

It returns None if it can’t be found.

get_library(self, library_name: str) lief.ELF.DynamicEntryLibrary

Return the DynamicEntryLibrary with the given name

It returns None if the library can’t be found.

get_relocated_dynamic_array(self, array_tag: lief.ELF.DynamicEntry.TAG) list[int]

Return the array defined by the given tag (e.g. INIT_ARRAY with relocations applied (if any)

get_relocation(*args) lief.ELF.Relocation

Overloaded function.

  1. get_relocation(self, symbol_name: str) -> lief._lief.ELF.Relocation

Return the Relocation associated with the given symbol name

  1. get_relocation(self, symbol: lief._lief.ELF.Symbol) -> lief._lief.ELF.Relocation

Return the Relocation associated with the given Symbol

  1. get_relocation(self, address: int) -> lief._lief.ELF.Relocation

Return the Relocation associated with the given address

get_section(self, section_name: str) lief.ELF.Section

Return the Section with the given name

It returns None if the section can’t be found.

get_strings(self, min_size: int) list[str]

Return list of strings used in the current ELF file with a minimal size given in first parameter (Default: 5) It looks for strings in the .roadata section

get_symtab_symbol(self, symbol_name: str) lief.ELF.Symbol

Get the static symbol from the given name.

It returns None if it can’t be found.

property gnu_hash lief.ELF.GnuHash

Return the GnuHash object

Hash are used by the loader to speed up symbols resolution (GNU Version)

has(*args) bool

Overloaded function.

  1. has(self, tag: lief._lief.ELF.DynamicEntry.TAG) -> bool

    Check if it exists a DynamicEntry with the given TAG

  2. has(self, type: lief._lief.ELF.Segment.TYPE) -> bool

Check if a Segment of type (SEGMENT_TYPES) exists

  1. has(self, type: lief._lief.ELF.Note.TYPE) -> bool

Check if a Note of type (TYPE) exists

  1. has(self, type: lief._lief.ELF.Section.TYPE) -> bool

Check if a Section of type (SECTION_TYPES) exists

has_dynamic_symbol(self, symbol_name: str) bool

Check if the symbol with the given name exists in the dynamic symbol table

property has_interpreter bool

Check if the binary uses a loader (also named linker or interpreter)

has_library(self, library_name: str) bool

Check if the given library name exists in the current binary

property has_notes bool

True if the binary contains notes

property has_overlay bool

True if data are appended to the end of the binary

has_section(self, section_name: str) bool

Check if a Section with the given name exists in the binary

has_section_with_offset(self, offset: int) bool

Check if a Section that encompasses the given offset exists

has_section_with_va(self, virtual_address: int) bool

Check if a Section that encompasses the given virtual address exists

has_symtab_symbol(self, symbol_name: str) bool

Check if the symbol with the given name exists in the static symbol table

property header lief.ELF.Header

Return Header object

property imagebase int

Return the program image base. (e.g. 0x400000)

property imported_symbols lief.ELF.Binary.it_filter_symbols

Return dynamic Symbol which are imported

property interpreter str

ELF interpreter (loader) if any. (e.g. /lib64/ld-linux-x86-64.so.2)

property is_pie bool

Check if the binary has been compiled with -fpie -pie flags

To do so we check if there is a PT_INTERP segment and if the binary type is ET_DYN (Shared object)

class it_dyn_symtab_symbols

Bases: object

Iterator over lief._lief.ELF.Symbol

class it_dynamic_entries

Bases: object

Iterator over lief._lief.ELF.DynamicEntry

class it_filter_relocation

Bases: object

Iterator over lief._lief.ELF.Relocation

class it_filter_symbols

Bases: object

Iterator over lief._lief.ELF.Symbol

class it_notes

Bases: object

Iterator over lief._lief.ELF.Note

class it_relocations

Bases: object

Iterator over lief._lief.ELF.Relocation

class it_sections

Bases: object

Iterator over lief._lief.ELF.Section

class it_segments

Bases: object

Iterator over lief._lief.ELF.Segment

class it_symbols

Bases: object

Iterator over lief._lief.ELF.Symbol

class it_symbols_version

Bases: object

Iterator over lief._lief.ELF.SymbolVersion

class it_symbols_version_definition

Bases: object

Iterator over lief._lief.ELF.SymbolVersionDefinition

class it_symbols_version_requirement

Bases: object

Iterator over lief._lief.ELF.SymbolVersionRequirement

property last_offset_section int

Return the last offset used in binary according to sections table

property last_offset_segment int

Return the last offset used in binary according to segments table

property next_virtual_address int

Return the next virtual address available

property notes lief.ELF.Binary.it_notes

Return an iterator over the Note entries

property object_relocations lief.ELF.Binary.it_filter_relocation

Return an iterator over object Relocation

property overlay memoryview

Overlay data that are not a part of the ELF format

patch_pltgot(*args) None

Overloaded function.

  1. patch_pltgot(self, symbol_name: str, address: int) -> None

Patch the imported symbol’s name with the address

  1. patch_pltgot(self, symbol: lief._lief.ELF.Symbol, address: int) -> None

Patch the imported Symbol with the address

permute_dynamic_symbols(self, permutation: list[int]) None

Apply the given permutation on the dynamic symbols table

property pltgot_relocations lief.ELF.Binary.it_filter_relocation

Return an iterator over PLT/GOT Relocation

relocate_phdr_table(self, type: lief.ELF.Binary.PHDR_RELOC) int

Force relocating the segments table in a specific way (see: PHDR_RELOC).

This function can be used to enforce a specific relocation of the segments table. Upon successful relocation, the function returns the offset of the relocated segments table. Otherwise, if the function fails, it returns 0

property relocations lief.ELF.Binary.it_relocations

Return an iterator over all Relocation

remove(*args) None

Overloaded function.

  1. remove(self, dynamic_entry: lief._lief.ELF.DynamicEntry) -> None

Remove the given DynamicEntry from the dynamic table

  1. remove(self, tag: lief._lief.ELF.DynamicEntry.TAG) -> None

Remove all the DynamicEntry with the given TAG

  1. remove(self, section: lief._lief.ELF.Section, clear: bool = False) -> None

Remove the given Section. The clear parameter specifies whether or not we must fill its content with 0 before removing

  1. remove(self, note: lief._lief.ELF.Note) -> None

Remove the given Note

  1. remove(self, type: lief._lief.ELF.Note.TYPE) -> None

Remove all the Note with the given TYPE

remove_dynamic_symbol(*args) None

Overloaded function.

  1. remove_dynamic_symbol(self, arg: lief._lief.ELF.Symbol, /) -> None

Remove the given Symbol from the .dynsym section

  1. remove_dynamic_symbol(self, arg: str, /) -> None

Remove the Symbol with the name given in parameter from the .dynsym section

remove_library(self, library_name: str) None

Remove the given library

remove_symtab_symbol(self, arg: lief.ELF.Symbol) None

Remove the given Symbol from the .symtab section

replace(self, new_segment: lief.ELF.Segment, original_segment: lief.ELF.Segment, base: int) lief.ELF.Segment

Replace the Segment given in 2nd parameter with the Segment given in the first parameter and return the updated segment.

Warning

The original_segment is no longer valid after this function

section_from_offset(self, offset: int, skip_nobits: bool) lief.ELF.Section

Return the Section which encompasses the given offset. It returns None if a section can’t be found.

If skip_nobits is set (which is the case by default), this function won’t consider sections for which the type is SHT_NOBITS (like .bss, .tbss, ...)

section_from_virtual_address(self, address: int, skip_nobits: bool) lief.ELF.Section

Return the Section which encompasses the given virtual address. It returns None if a section can’t be found.

If skip_nobits is set (which is the case by default), this function won’t consider sections for which the type is SHT_NOBITS (like .bss, .tbss, ...)

property sections lief.ELF.Binary.it_sections

Return an iterator over binary’s Section

segment_from_offset(self, offset: int) lief.ELF.Segment

Return the Segment which encompasses the given offset. It returns None if a segment can’t be found.

segment_from_virtual_address(self, address: int) lief.ELF.Segment

Return the Segment which encompasses the given virtual address. It returns None if a segment can’t be found.

property segments lief.ELF.Binary.it_segments

Return an iterator to binary’s Segment

property strings list[str | bytes]

Return list of strings used in the current ELF file. Basically this function looks for strings in the .roadata section

strip(self) None

Strip the binary

property symbols lief.ELF.Binary.it_dyn_symtab_symbols

Return an iterator over both static and dynamic Symbol

property symbols_version lief.ELF.Binary.it_symbols_version

Return an iterator SymbolVersion

property symbols_version_definition lief.ELF.Binary.it_symbols_version_definition

Return an iterator to SymbolVersionDefinition

property symbols_version_requirement lief.ELF.Binary.it_symbols_version_requirement

Return an iterator to SymbolVersionRequirement

symtab_idx(*args) int

Overloaded function.

  1. symtab_idx(self, name: str) -> int

    Get the symbol index in the .symtab section from the given name or return -1 if the symbol does not exist.

  2. symtab_idx(self, symbol: lief._lief.ELF.Symbol) -> int

    Get the symbol index in the .symtab section or return -1 if the symbol does not exist

property symtab_symbols lief.ELF.Binary.it_symbols

Return an iterator to static Symbol

property sysv_hash lief.ELF.SysvHash

Return the SysvHash object

Hash are used by the loader to speed up symbols resolution (SYSV version)

property type lief.ELF.Header.CLASS

Return the binary’s ELF_CLASS

property use_gnu_hash bool

True if GNU hash is used

property use_sysv_hash bool

True if SYSV hash is used

virtual_address_to_offset(self, virtual_address: int) int | lief.lief_errors

Convert the virtual address to a file offset

property virtual_size int

Return the size of the mapped binary

write(*args) None

Overloaded function.

  1. write(self, output: str) -> None

Rebuild the binary and write it in a file

  1. write(self, output: str, config: lief._lief.ELF.Builder.config_t) -> None

Rebuild the binary with the given configuration and write it in a file



Section

Inheritance diagram of lief._lief.ELF.Section
class lief.ELF.Section(self)
class lief.ELF.Section(self, name: str, type: lief._lief.ELF.Section.TYPE = lief._lief.ELF.TYPE.PROGBITS)

Bases: Section

Class which represents an ELF section.

Overloaded function.

  1. __init__(self) -> None

Default constructor

  1. __init__(self, name: str, type: lief._lief.ELF.Section.TYPE = lief._lief.ELF.TYPE.PROGBITS) -> None

Constructor from a name and a section type

class FLAGS

Bases: object

ALLOC = <lief.ELF.FLAGS.lief.ELF.FLAGS.ALLOC: 2>
ARM_PURECODE = <lief.ELF.FLAGS.lief.ELF.FLAGS.ARM_PURECODE: 22011707392>
COMPRESSED = <lief.ELF.FLAGS.lief.ELF.FLAGS.COMPRESSED: 2048>
EXCLUDE = <lief.ELF.FLAGS.lief.ELF.FLAGS.EXCLUDE: 2147483648>
EXECINSTR = <lief.ELF.FLAGS.lief.ELF.FLAGS.EXECINSTR: 4>
GNU_RETAIN = <lief.ELF.FLAGS.lief.ELF.FLAGS.GNU_RETAIN: 2097152>
GROUP = <lief.ELF.FLAGS.lief.ELF.FLAGS.GROUP: 512>
HEX_GPREL = <lief.ELF.FLAGS.lief.ELF.FLAGS.HEX_GPREL: 13153337344>
MERGE = <lief.ELF.FLAGS.lief.ELF.FLAGS.MERGE: 16>
MIPS_ADDR = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_ADDR: 18253611008>
MIPS_GPREL = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_GPREL: 17448304640>
MIPS_LOCAL = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_LOCAL: 17246978048>
MIPS_MERGE = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_MERGE: 17716740096>
MIPS_NAMES = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_NAMES: 17213423616>
MIPS_NODUPES = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_NODUPES: 17196646400>
MIPS_NOSTRIP = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_NOSTRIP: 17314086912>
MIPS_STRING = <lief.ELF.FLAGS.lief.ELF.FLAGS.MIPS_STRING: 19327352832>
NONE = <lief.ELF.FLAGS.lief.ELF.FLAGS.NONE: 0>
OS_NONCONFORMING = <lief.ELF.FLAGS.lief.ELF.FLAGS.OS_NONCONFORMING: 256>
STRINGS = <lief.ELF.FLAGS.lief.ELF.FLAGS.STRINGS: 32>
TLS = <lief.ELF.FLAGS.lief.ELF.FLAGS.TLS: 1024>
WRITE = <lief.ELF.FLAGS.lief.ELF.FLAGS.WRITE: 1>
X86_64_LARGE = <lief.ELF.FLAGS.lief.ELF.FLAGS.X86_64_LARGE: 8858370048>
XCORE_SHF_CP_SECTION = <lief.ELF.FLAGS.lief.ELF.FLAGS.XCORE_SHF_CP_SECTION: 4831838208>
XCORE_SHF_DP_SECTION = <lief.ELF.FLAGS.lief.ELF.FLAGS.XCORE_SHF_DP_SECTION: 4563402752>
from_value(arg: int) lief.ELF.Section.FLAGS = <nanobind.nb_func object>
property value int

The underlying integer value

class TYPE

Bases: object

ANDROID_REL = lief._lief.ELF.TYPE.ANDROID_REL
ANDROID_RELA = lief._lief.ELF.TYPE.ANDROID_RELA
ANDROID_RELR = lief._lief.ELF.TYPE.ANDROID_RELR
ARM_ATTRIBUTES = lief._lief.ELF.TYPE.ARM_ATTRIBUTES
ARM_DEBUGOVERLAY = lief._lief.ELF.TYPE.ARM_DEBUGOVERLAY
ARM_EXIDX = lief._lief.ELF.TYPE.ARM_EXIDX
ARM_OVERLAYSECTION = lief._lief.ELF.TYPE.ARM_OVERLAYSECTION
ARM_PREEMPTMAP = lief._lief.ELF.TYPE.ARM_PREEMPTMAP
DYNAMIC = lief._lief.ELF.TYPE.DYNAMIC
DYNSYM = lief._lief.ELF.TYPE.DYNSYM
FINI_ARRAY = lief._lief.ELF.TYPE.FINI_ARRAY
GNU_ATTRIBUTES = lief._lief.ELF.TYPE.GNU_ATTRIBUTES
GNU_HASH = lief._lief.ELF.TYPE.GNU_HASH
GNU_VERDEF = lief._lief.ELF.TYPE.GNU_VERDEF
GNU_VERNEED = lief._lief.ELF.TYPE.GNU_VERNEED
GNU_VERSYM = lief._lief.ELF.TYPE.GNU_VERSYM
GROUP = lief._lief.ELF.TYPE.GROUP
HASH = lief._lief.ELF.TYPE.HASH
HEX_ORDERED = lief._lief.ELF.TYPE.HEX_ORDERED
INIT_ARRAY = lief._lief.ELF.TYPE.INIT_ARRAY
LLVM_ADDRSIG = lief._lief.ELF.TYPE.LLVM_ADDRSIG
MIPS_ABIFLAGS = lief._lief.ELF.TYPE.MIPS_ABIFLAGS
MIPS_OPTIONS = lief._lief.ELF.TYPE.MIPS_OPTIONS
MIPS_REGINFO = lief._lief.ELF.TYPE.MIPS_REGINFO
NOBITS = lief._lief.ELF.TYPE.NOBITS
NOTE = lief._lief.ELF.TYPE.NOTE
PREINIT_ARRAY = lief._lief.ELF.TYPE.PREINIT_ARRAY
PROGBITS = lief._lief.ELF.TYPE.PROGBITS
REL = lief._lief.ELF.TYPE.REL
RELA = lief._lief.ELF.TYPE.RELA
RELR = lief._lief.ELF.TYPE.RELR
SHLIB = lief._lief.ELF.TYPE.SHLIB
SHT_NULL = lief._lief.ELF.TYPE.SHT_NULL
STRTAB = lief._lief.ELF.TYPE.STRTAB
SYMTAB = lief._lief.ELF.TYPE.SYMTAB
SYMTAB_SHNDX = lief._lief.ELF.TYPE.SYMTAB_SHNDX
X86_64_UNWIND = lief._lief.ELF.TYPE.X86_64_UNWIND
from_value(arg: int) lief.ELF.Section.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

add(self, flag: lief.ELF.Section.FLAGS) None

Add the given flag to the list of flags

property alignment int

Section alignment

as_frame(self) lief.ELF.Section
clear(self, value: int) lief.ELF.Section

Clear the content of the section with the given value

property entry_size int

This property returns the size of an element in the case of a section that contains an array.

Example:

The .dynamic section contains an array of DynamicEntry. As the size of the raw C structure of this entry is 0x10 (sizeof(Elf64_Dyn)) in a ELF64, the entry_size, is set to this value.

property file_offset int

Offset of the section’s content

property flags int

Return the section’s flags as an integer

property flags_list list[lief.ELF.Section.FLAGS]

Return section’s flags as a list

has(*args) bool

Overloaded function.

  1. has(self, flag: lief._lief.ELF.Section.FLAGS) -> bool

Check if the given flag is present

  1. has(self, segment: lief._lief.ELF.Segment) -> bool

Check if the given Segment is present in segments

property information int

Section information (this value depends on the section)

property is_frame bool
class it_segments

Bases: object

Iterator over lief._lief.ELF.Segment

Index to another section

property original_size int

Original size of the section’s data.

This value is used by the Builder to determine if it needs to be relocated to avoid an override of the data

remove(self, flag: lief.ELF.Section.FLAGS) None

Remove the given flag from the list of flags

property segments lief.ELF.Section.it_segments

Return segment(s) associated with the given section

property type lief.ELF.Section.TYPE

Return the type of the section


Segment

class lief.ELF.Segment(self)

Bases: Object

Class which represents the ELF segments

class FLAGS

Bases: object

NONE = <lief.ELF.FLAGS.lief.ELF.FLAGS.NONE: 0>
R = <lief.ELF.FLAGS.lief.ELF.FLAGS.R: 4>
W = <lief.ELF.FLAGS.lief.ELF.FLAGS.W: 2>
X = <lief.ELF.FLAGS.lief.ELF.FLAGS.X: 1>
from_value(arg: int) lief.ELF.Segment.FLAGS = <nanobind.nb_func object>
property value int

The underlying integer value

class TYPE

Bases: object

AARCH64_MEMTAG_MTE = lief._lief.ELF.TYPE.AARCH64_MEMTAG_MTE
ARM_ARCHEXT = lief._lief.ELF.TYPE.ARM_ARCHEXT
ARM_EXIDX = lief._lief.ELF.TYPE.ARM_EXIDX
DYNAMIC = lief._lief.ELF.TYPE.DYNAMIC
GNU_EH_FRAME = lief._lief.ELF.TYPE.GNU_EH_FRAME
GNU_PROPERTY = lief._lief.ELF.TYPE.GNU_PROPERTY
GNU_RELRO = lief._lief.ELF.TYPE.GNU_RELRO
GNU_STACK = lief._lief.ELF.TYPE.GNU_STACK
INTERP = lief._lief.ELF.TYPE.INTERP
LOAD = lief._lief.ELF.TYPE.LOAD
MIPS_ABIFLAGS = lief._lief.ELF.TYPE.MIPS_ABIFLAGS
MIPS_OPTIONS = lief._lief.ELF.TYPE.MIPS_OPTIONS
MIPS_REGINFO = lief._lief.ELF.TYPE.MIPS_REGINFO
MIPS_RTPROC = lief._lief.ELF.TYPE.MIPS_RTPROC
NOTE = lief._lief.ELF.TYPE.NOTE
PHDR = lief._lief.ELF.TYPE.PHDR
PT_NULL = lief._lief.ELF.TYPE.PT_NULL
RISCV_ATTRIBUTES = lief._lief.ELF.TYPE.RISCV_ATTRIBUTES
SHLIB = lief._lief.ELF.TYPE.SHLIB
TLS = lief._lief.ELF.TYPE.TLS
from_value(arg: int) lief.ELF.Segment.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

add(self, flag: lief.ELF.Segment.FLAGS) None

Add the given flag to the list of flags

property alignment int

The offset alignment of the segment

property content memoryview

The raw data associated with this segment.

property file_offset int

The file offset of the data associated with this segment

property flags lief.ELF.Segment.FLAGS

The flag permissions associated with this segment

from_raw(arg: bytes) lief.ELF.Segment | lief.lief_errors = <nanobind.nb_func object>
has(*args) bool

Overloaded function.

  1. has(self, flag: lief._lief.ELF.Segment.FLAGS) -> bool

Check if the given flag is present

  1. has(self, section: lief._lief.ELF.Section) -> bool

Check if the given Section is present in sections

  1. has(self, section_name: str) -> bool

Check if the given Section ‘s name is present in sections

class it_sections

Bases: object

Iterator over lief._lief.ELF.Section

property physical_address int

The physical address of the segment. This value is not really relevant on systems like Linux or Android. On the other hand, Qualcomm trustlets might use this value.

Usually this value matches virtual_address

property physical_size int

The file size of the data associated with this segment

remove(self, flag: lief.ELF.Segment.FLAGS) None

Remove the given flag from the list of flags

property sections lief.ELF.Segment.it_sections

Iterator over the Section wrapped by this segment

property type lief.ELF.Segment.TYPE

Segment’s type

property virtual_address int

The virtual address of the segment.

Warning

The ELF format specifications require the following relationship:

\[\text{virtual address} \equiv \text{file offset} \pmod{\text{page size}} \text{virtual address} \equiv \text{file offset} \pmod{\text{alignment}}\]
property virtual_size int

The in-memory size of this segment.

Usually, if the .bss segment is wrapped by this segment then, virtual_size is larger than physical_size


Dynamic Entry

Inheritance diagram of lief._lief.ELF.DynamicEntryFlags, lief._lief.ELF.DynamicEntryArray, lief._lief.ELF.DynamicEntryRpath, lief._lief.ELF.DynamicEntryRunPath, lief._lief.ELF.DynamicSharedObject, lief._lief.ELF.DynamicEntryLibrary, lief._lief.ELF.DynamicEntry
class lief.ELF.DynamicEntry(self)
class lief.ELF.DynamicEntry(self, tag: lief._lief.ELF.DynamicEntry.TAG, value: int)

Bases: Object

Class which represents an entry in the dynamic table These entries are located in the .dynamic section or the PT_DYNAMIC segment

Overloaded function.

  1. __init__(self) -> None

Default constructor

  1. __init__(self, tag: lief._lief.ELF.DynamicEntry.TAG, value: int) -> None

Constructor from a TAG and value

class TAG

Bases: object

AARCH64_BTI_PLT = lief._lief.ELF.TAG.AARCH64_BTI_PLT
AARCH64_MEMTAG_GLOBALS = lief._lief.ELF.TAG.AARCH64_MEMTAG_GLOBALS
AARCH64_MEMTAG_GLOBALSSZ = lief._lief.ELF.TAG.AARCH64_MEMTAG_GLOBALSSZ
AARCH64_MEMTAG_HEAP = lief._lief.ELF.TAG.AARCH64_MEMTAG_HEAP
AARCH64_MEMTAG_MODE = lief._lief.ELF.TAG.AARCH64_MEMTAG_MODE
AARCH64_MEMTAG_STACK = lief._lief.ELF.TAG.AARCH64_MEMTAG_STACK
AARCH64_PAC_PLT = lief._lief.ELF.TAG.AARCH64_PAC_PLT
AARCH64_VARIANT_PCS = lief._lief.ELF.TAG.AARCH64_VARIANT_PCS
ANDROID_REL = lief._lief.ELF.TAG.ANDROID_REL
ANDROID_RELA = lief._lief.ELF.TAG.ANDROID_RELA
ANDROID_RELASZ = lief._lief.ELF.TAG.ANDROID_RELASZ
ANDROID_RELR = lief._lief.ELF.TAG.ANDROID_RELR
ANDROID_RELRCOUNT = lief._lief.ELF.TAG.ANDROID_RELRCOUNT
ANDROID_RELRENT = lief._lief.ELF.TAG.ANDROID_RELRENT
ANDROID_RELRSZ = lief._lief.ELF.TAG.ANDROID_RELRSZ
ANDROID_RELSZ = lief._lief.ELF.TAG.ANDROID_RELSZ
ANDROID_REL_OFFSET = lief._lief.ELF.TAG.ANDROID_REL_OFFSET
ANDROID_REL_SIZE = lief._lief.ELF.TAG.ANDROID_REL_SIZE
BIND_NOW = lief._lief.ELF.TAG.BIND_NOW
DEBUG_TAG = lief._lief.ELF.TAG.DEBUG_TAG
FINI = lief._lief.ELF.TAG.FINI
FINI_ARRAY = lief._lief.ELF.TAG.FINI_ARRAY
FINI_ARRAYSZ = lief._lief.ELF.TAG.FINI_ARRAYSZ
FLAGS = lief._lief.ELF.TAG.FLAGS
FLAGS_1 = lief._lief.ELF.TAG.FLAGS_1
GNU_HASH = lief._lief.ELF.TAG.GNU_HASH
HASH = lief._lief.ELF.TAG.HASH
HEXAGON_PLT = lief._lief.ELF.TAG.HEXAGON_PLT
HEXAGON_SYMSZ = lief._lief.ELF.TAG.HEXAGON_SYMSZ
HEXAGON_VER = lief._lief.ELF.TAG.HEXAGON_VER
INIT = lief._lief.ELF.TAG.INIT
INIT_ARRAY = lief._lief.ELF.TAG.INIT_ARRAY
INIT_ARRAYSZ = lief._lief.ELF.TAG.INIT_ARRAYSZ
JMPREL = lief._lief.ELF.TAG.JMPREL
MIPS_AUX_DYNAMIC = lief._lief.ELF.TAG.MIPS_AUX_DYNAMIC
MIPS_BASE_ADDRESS = lief._lief.ELF.TAG.MIPS_BASE_ADDRESS
MIPS_COMPACT_SIZE = lief._lief.ELF.TAG.MIPS_COMPACT_SIZE
MIPS_CONFLICT = lief._lief.ELF.TAG.MIPS_CONFLICT
MIPS_CONFLICTNO = lief._lief.ELF.TAG.MIPS_CONFLICTNO
MIPS_CXX_FLAGS = lief._lief.ELF.TAG.MIPS_CXX_FLAGS
MIPS_DELTA_CLASS = lief._lief.ELF.TAG.MIPS_DELTA_CLASS
MIPS_DELTA_CLASSSYM = lief._lief.ELF.TAG.MIPS_DELTA_CLASSSYM
MIPS_DELTA_CLASSSYM_NO = lief._lief.ELF.TAG.MIPS_DELTA_CLASSSYM_NO
MIPS_DELTA_CLASS_NO = lief._lief.ELF.TAG.MIPS_DELTA_CLASS_NO
MIPS_DELTA_INSTANCE = lief._lief.ELF.TAG.MIPS_DELTA_INSTANCE
MIPS_DELTA_INSTANCE_NO = lief._lief.ELF.TAG.MIPS_DELTA_INSTANCE_NO
MIPS_DELTA_RELOC = lief._lief.ELF.TAG.MIPS_DELTA_RELOC
MIPS_DELTA_RELOC_NO = lief._lief.ELF.TAG.MIPS_DELTA_RELOC_NO
MIPS_DELTA_SYM = lief._lief.ELF.TAG.MIPS_DELTA_SYM
MIPS_DELTA_SYM_NO = lief._lief.ELF.TAG.MIPS_DELTA_SYM_NO
MIPS_DYNSTR_ALIGN = lief._lief.ELF.TAG.MIPS_DYNSTR_ALIGN
MIPS_FLAGS = lief._lief.ELF.TAG.MIPS_FLAGS
MIPS_GOTSYM = lief._lief.ELF.TAG.MIPS_GOTSYM
MIPS_GP_VALUE = lief._lief.ELF.TAG.MIPS_GP_VALUE
MIPS_HIDDEN_GOTIDX = lief._lief.ELF.TAG.MIPS_HIDDEN_GOTIDX
MIPS_HIPAGENO = lief._lief.ELF.TAG.MIPS_HIPAGENO
MIPS_ICHECKSUM = lief._lief.ELF.TAG.MIPS_ICHECKSUM
MIPS_INTERFACE = lief._lief.ELF.TAG.MIPS_INTERFACE
MIPS_INTERFACE_SIZE = lief._lief.ELF.TAG.MIPS_INTERFACE_SIZE
MIPS_IVERSION = lief._lief.ELF.TAG.MIPS_IVERSION
MIPS_LIBLIST = lief._lief.ELF.TAG.MIPS_LIBLIST
MIPS_LIBLISTNO = lief._lief.ELF.TAG.MIPS_LIBLISTNO
MIPS_LOCALPAGE_GOTIDX = lief._lief.ELF.TAG.MIPS_LOCALPAGE_GOTIDX
MIPS_LOCAL_GOTIDX = lief._lief.ELF.TAG.MIPS_LOCAL_GOTIDX
MIPS_LOCAL_GOTNO = lief._lief.ELF.TAG.MIPS_LOCAL_GOTNO
MIPS_MSYM = lief._lief.ELF.TAG.MIPS_MSYM
MIPS_OPTIONS = lief._lief.ELF.TAG.MIPS_OPTIONS
MIPS_PERF_SUFFIX = lief._lief.ELF.TAG.MIPS_PERF_SUFFIX
MIPS_PIXIE_INIT = lief._lief.ELF.TAG.MIPS_PIXIE_INIT
MIPS_PLTGOT = lief._lief.ELF.TAG.MIPS_PLTGOT
MIPS_PROTECTED_GOTIDX = lief._lief.ELF.TAG.MIPS_PROTECTED_GOTIDX
MIPS_RLD_MAP = lief._lief.ELF.TAG.MIPS_RLD_MAP
MIPS_RLD_MAP_REL = lief._lief.ELF.TAG.MIPS_RLD_MAP_REL
MIPS_RLD_TEXT_RESOLVE_ADDR = lief._lief.ELF.TAG.MIPS_RLD_TEXT_RESOLVE_ADDR
MIPS_RLD_VERSION = lief._lief.ELF.TAG.MIPS_RLD_VERSION
MIPS_RWPLT = lief._lief.ELF.TAG.MIPS_RWPLT
MIPS_SYMBOL_LIB = lief._lief.ELF.TAG.MIPS_SYMBOL_LIB
MIPS_SYMTABNO = lief._lief.ELF.TAG.MIPS_SYMTABNO
MIPS_TIME_STAMP = lief._lief.ELF.TAG.MIPS_TIME_STAMP
MIPS_UNREFEXTNO = lief._lief.ELF.TAG.MIPS_UNREFEXTNO
MIPS_XHASH = lief._lief.ELF.TAG.MIPS_XHASH
NEEDED = lief._lief.ELF.TAG.NEEDED
NULL = lief._lief.ELF.TAG.NULL
PLTGOT = lief._lief.ELF.TAG.PLTGOT
PLTREL = lief._lief.ELF.TAG.PLTREL
PLTRELSZ = lief._lief.ELF.TAG.PLTRELSZ
PPC64_OPT = lief._lief.ELF.TAG.PPC64_OPT
PPC_GOT = lief._lief.ELF.TAG.PPC_GOT
PPC_OPT = lief._lief.ELF.TAG.PPC_OPT
PREINIT_ARRAY = lief._lief.ELF.TAG.PREINIT_ARRAY
PREINIT_ARRAYSZ = lief._lief.ELF.TAG.PREINIT_ARRAYSZ
REL = lief._lief.ELF.TAG.REL
RELA = lief._lief.ELF.TAG.RELA
RELACOUNT = lief._lief.ELF.TAG.RELACOUNT
RELAENT = lief._lief.ELF.TAG.RELAENT
RELASZ = lief._lief.ELF.TAG.RELASZ
RELCOUNT = lief._lief.ELF.TAG.RELCOUNT
RELENT = lief._lief.ELF.TAG.RELENT
RELR = lief._lief.ELF.TAG.RELR
RELRENT = lief._lief.ELF.TAG.RELRENT
RELRSZ = lief._lief.ELF.TAG.RELRSZ
RELSZ = lief._lief.ELF.TAG.RELSZ
RISCV_VARIANT_CC = lief._lief.ELF.TAG.RISCV_VARIANT_CC
RPATH = lief._lief.ELF.TAG.RPATH
RUNPATH = lief._lief.ELF.TAG.RUNPATH
SONAME = lief._lief.ELF.TAG.SONAME
STRSZ = lief._lief.ELF.TAG.STRSZ
STRTAB = lief._lief.ELF.TAG.STRTAB
SYMBOLIC = lief._lief.ELF.TAG.SYMBOLIC
SYMENT = lief._lief.ELF.TAG.SYMENT
SYMTAB = lief._lief.ELF.TAG.SYMTAB
SYMTAB_SHNDX = lief._lief.ELF.TAG.SYMTAB_SHNDX
TEXTREL = lief._lief.ELF.TAG.TEXTREL
UNKNOWN = lief._lief.ELF.TAG.UNKNOWN
VERDEF = lief._lief.ELF.TAG.VERDEF
VERDEFNUM = lief._lief.ELF.TAG.VERDEFNUM
VERNEED = lief._lief.ELF.TAG.VERNEED
VERNEEDNUM = lief._lief.ELF.TAG.VERNEEDNUM
VERSYM = lief._lief.ELF.TAG.VERSYM
from_value(arg: int) lief.ELF.DynamicEntry.TAG = <nanobind.nb_func object>
property value int

The underlying integer value

property tag lief.ELF.DynamicEntry.TAG

Return the entry’s TAG which represent the entry type

property value int

Return the entry’s value

The meaning of the value strongly depends on the tag. It can be an offset, an index, a flag, …


Dynamic Entry Library

Inheritance diagram of lief._lief.ELF.DynamicEntryLibrary
class lief.ELF.DynamicEntryLibrary(self, library_name: str)

Bases: DynamicEntry

Class which represents a DT_NEEDED entry in the dynamic table.

This kind of entry is usually used to create library dependency.

Constructor from a library name

property name str | bytes

Library associated with this entry (e.g. libc.so.6)


Dynamic Shared Object

Inheritance diagram of lief._lief.ELF.DynamicSharedObject
class lief.ELF.DynamicSharedObject(self, library_name: str)

Bases: DynamicEntry

Class which represents a DT_SONAME entry in the dynamic table This kind of entry is usually used no name the original library.

This entry is not present for executable.

Constructor from library name

property name str | bytes

Return the library name


Dynamic Entry Run Path

Inheritance diagram of lief._lief.ELF.DynamicEntryRunPath
class lief.ELF.DynamicEntryRunPath(self, path: str = '')
class lief.ELF.DynamicEntryRunPath(self, paths: list[str])

Bases: DynamicEntry

Class that represents a DT_RUNPATH wich is used by the loader to resolve libraries (DynamicEntryLibrary).

Overloaded function.

  1. __init__(self, path: str = '') -> None

Constructor from a (run)path

  1. __init__(self, paths: list[str]) -> None

Constructor from a list of paths

append(self, path: str) lief.ELF.DynamicEntryRunPath

Append the given path

insert(self, position: int, path: str) lief.ELF.DynamicEntryRunPath

Insert a path at the given position

property paths list[str]

Paths as a list

remove(self, path: str) lief.ELF.DynamicEntryRunPath

Remove the given path

property runpath str | bytes

Runpath raw value


Dynamic Entry RPath

Inheritance diagram of lief._lief.ELF.DynamicEntryRpath
class lief.ELF.DynamicEntryRpath(self, path: str = '')
class lief.ELF.DynamicEntryRpath(self, paths: list[str])

Bases: DynamicEntry

Class which represents a DT_RPATH entry. This attribute is deprecated (cf. man ld) in favour of DT_RUNPATH (See DynamicRunPath)

Overloaded function.

  1. __init__(self, path: str = '') -> None

Constructor from (r)path

  1. __init__(self, paths: list[str]) -> None

Constructor from a list of paths

append(self, path: str) lief.ELF.DynamicEntryRpath

Append the given path

insert(self, position: int, path: str) lief.ELF.DynamicEntryRpath

Insert a path at the given position

property paths list[str]

Paths as a list

remove(self, path: str) lief.ELF.DynamicEntryRpath

Remove the given path

property rpath str | bytes

The actual rpath as a string


Dynamic Entry Array

Inheritance diagram of lief._lief.ELF.DynamicEntryArray
class lief.ELF.DynamicEntryArray(self, tag: lief._lief.ELF.DynamicEntry.TAG, array: list[int])

Bases: DynamicEntry

Class that represent an Array in the dynamic table. This entry is associated with constructors: - DT_PREINIT_ARRAY - DT_INIT_ARRAY - DT_FINI_ARRAY

The underlying values are 64-bits integers to cover both: ELF32 and ELF64 binaries.

append(self, function: int) lief.ELF.DynamicEntryArray

Append the given function

property array list[int]

Return the array as a list of intergers

insert(self, pos: int, function: int) lief.ELF.DynamicEntryArray

Insert the given function at pos

remove(self, function: int) lief.ELF.DynamicEntryArray

Remove the given function


Dynamic Entry Flags

Inheritance diagram of lief._lief.ELF.DynamicEntryFlags
class lief.ELF.DynamicEntryFlags

Bases: DynamicEntry

class FLAG

Bases: object

BIND_NOW = lief._lief.ELF.FLAG.BIND_NOW
CONFALT = lief._lief.ELF.FLAG.CONFALT
DIRECT = lief._lief.ELF.FLAG.DIRECT
DISPRELDNE = lief._lief.ELF.FLAG.DISPRELDNE
DISPRELPND = lief._lief.ELF.FLAG.DISPRELPND
EDITED = lief._lief.ELF.FLAG.EDITED
ENDFILTEE = lief._lief.ELF.FLAG.ENDFILTEE
GLOBAL = lief._lief.ELF.FLAG.GLOBAL
GLOBAUDIT = lief._lief.ELF.FLAG.GLOBAUDIT
GROUP = lief._lief.ELF.FLAG.GROUP
HANDLE_ORIGIN = lief._lief.ELF.FLAG.HANDLE_ORIGIN
IGNMULDEF = lief._lief.ELF.FLAG.IGNMULDEF
INITFIRST = lief._lief.ELF.FLAG.INITFIRST
INTERPOSE = lief._lief.ELF.FLAG.INTERPOSE
KMOD = lief._lief.ELF.FLAG.KMOD
LOADFLTR = lief._lief.ELF.FLAG.LOADFLTR
NOCOMMON = lief._lief.ELF.FLAG.NOCOMMON
NODEFLIB = lief._lief.ELF.FLAG.NODEFLIB
NODELETE = lief._lief.ELF.FLAG.NODELETE
NODIRECT = lief._lief.ELF.FLAG.NODIRECT
NODUMP = lief._lief.ELF.FLAG.NODUMP
NOHDR = lief._lief.ELF.FLAG.NOHDR
NOKSYMS = lief._lief.ELF.FLAG.NOKSYMS
NOOPEN = lief._lief.ELF.FLAG.NOOPEN
NORELOC = lief._lief.ELF.FLAG.NORELOC
NOW = lief._lief.ELF.FLAG.NOW
ORIGIN = lief._lief.ELF.FLAG.ORIGIN
PIE = lief._lief.ELF.FLAG.PIE
SINGLETON = lief._lief.ELF.FLAG.SINGLETON
STATIC_TLS = lief._lief.ELF.FLAG.STATIC_TLS
SYMBOLIC = lief._lief.ELF.FLAG.SYMBOLIC
SYMINTPOSE = lief._lief.ELF.FLAG.SYMINTPOSE
TEXTREL = lief._lief.ELF.FLAG.TEXTREL
TRANS = lief._lief.ELF.FLAG.TRANS
WEAKFILTER = lief._lief.ELF.FLAG.WEAKFILTER
from_value(arg: int) lief.ELF.DynamicEntryFlags.FLAG = <nanobind.nb_func object>
property value int

The underlying integer value

add(self, flag: lief.ELF.DynamicEntryFlags.FLAG) None

Add the given FLAG

property flags list[lief.ELF.DynamicEntryFlags.FLAG]

Return list of FLAG

has(self, flag: lief.ELF.DynamicEntryFlags.FLAG) bool

Check if this entry contains the given FLAG

remove(self, flag: lief.ELF.DynamicEntryFlags.FLAG) None

Remove the given FLAG


Relocations

class lief.ELF.Relocation(self)
class lief.ELF.Relocation(self, arch: lief._lief.ELF.ARCH)
class lief.ELF.Relocation(self, address: int, type: lief._lief.ELF.Relocation.TYPE, encoding: lief._lief.ELF.Relocation.ENCODING)

Bases: Relocation

Class that represents an ELF relocation.

class ENCODING

Bases: object

ANDROID_SLEB = lief._lief.ELF.ENCODING.ANDROID_SLEB
REL = lief._lief.ELF.ENCODING.REL
RELA = lief._lief.ELF.ENCODING.RELA
RELR = lief._lief.ELF.ENCODING.RELR
UNKNOWN = lief._lief.ELF.ENCODING.UNKNOWN
from_value(arg: int) lief.ELF.Relocation.ENCODING = <nanobind.nb_func object>
property value int

The underlying integer value

class PURPOSE

Bases: object

DYNAMIC = lief._lief.ELF.PURPOSE.DYNAMIC
NONE = lief._lief.ELF.PURPOSE.NONE
OBJECT = lief._lief.ELF.PURPOSE.OBJECT
PLTGOT = lief._lief.ELF.PURPOSE.PLTGOT
from_value(arg: int) lief.ELF.Relocation.PURPOSE = <nanobind.nb_func object>
property value int

The underlying integer value

class TYPE

Bases: object

AARCH64_ABS16 = lief._lief.ELF.TYPE.AARCH64_ABS16
AARCH64_ABS32 = lief._lief.ELF.TYPE.AARCH64_ABS32
AARCH64_ABS64 = lief._lief.ELF.TYPE.AARCH64_ABS64
AARCH64_ADD_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_ADD_ABS_LO12_NC
AARCH64_ADR_GOT_PAGE = lief._lief.ELF.TYPE.AARCH64_ADR_GOT_PAGE
AARCH64_ADR_PREL_LO21 = lief._lief.ELF.TYPE.AARCH64_ADR_PREL_LO21
AARCH64_ADR_PREL_PG_HI21 = lief._lief.ELF.TYPE.AARCH64_ADR_PREL_PG_HI21
AARCH64_ADR_PREL_PG_HI21_NC = lief._lief.ELF.TYPE.AARCH64_ADR_PREL_PG_HI21_NC
AARCH64_CALL26 = lief._lief.ELF.TYPE.AARCH64_CALL26
AARCH64_CONDBR19 = lief._lief.ELF.TYPE.AARCH64_CONDBR19
AARCH64_COPY = lief._lief.ELF.TYPE.AARCH64_COPY
AARCH64_GLOB_DAT = lief._lief.ELF.TYPE.AARCH64_GLOB_DAT
AARCH64_GOTREL32 = lief._lief.ELF.TYPE.AARCH64_GOTREL32
AARCH64_GOTREL64 = lief._lief.ELF.TYPE.AARCH64_GOTREL64
AARCH64_GOT_LD_PREL19 = lief._lief.ELF.TYPE.AARCH64_GOT_LD_PREL19
AARCH64_IRELATIVE = lief._lief.ELF.TYPE.AARCH64_IRELATIVE
AARCH64_JUMP26 = lief._lief.ELF.TYPE.AARCH64_JUMP26
AARCH64_JUMP_SLOT = lief._lief.ELF.TYPE.AARCH64_JUMP_SLOT
AARCH64_LD64_GOTOFF_LO15 = lief._lief.ELF.TYPE.AARCH64_LD64_GOTOFF_LO15
AARCH64_LD64_GOTPAGE_LO15 = lief._lief.ELF.TYPE.AARCH64_LD64_GOTPAGE_LO15
AARCH64_LD64_GOT_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LD64_GOT_LO12_NC
AARCH64_LDST128_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LDST128_ABS_LO12_NC
AARCH64_LDST16_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LDST16_ABS_LO12_NC
AARCH64_LDST32_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LDST32_ABS_LO12_NC
AARCH64_LDST64_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LDST64_ABS_LO12_NC
AARCH64_LDST8_ABS_LO12_NC = lief._lief.ELF.TYPE.AARCH64_LDST8_ABS_LO12_NC
AARCH64_LD_PREL_LO19 = lief._lief.ELF.TYPE.AARCH64_LD_PREL_LO19
AARCH64_MOVW_GOTOFF_G0 = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G0
AARCH64_MOVW_GOTOFF_G0_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G0_NC
AARCH64_MOVW_GOTOFF_G1 = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G1
AARCH64_MOVW_GOTOFF_G1_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G1_NC
AARCH64_MOVW_GOTOFF_G2 = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G2
AARCH64_MOVW_GOTOFF_G2_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G2_NC
AARCH64_MOVW_GOTOFF_G3 = lief._lief.ELF.TYPE.AARCH64_MOVW_GOTOFF_G3
AARCH64_MOVW_PREL_G0 = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G0
AARCH64_MOVW_PREL_G0_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G0_NC
AARCH64_MOVW_PREL_G1 = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G1
AARCH64_MOVW_PREL_G1_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G1_NC
AARCH64_MOVW_PREL_G2 = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G2
AARCH64_MOVW_PREL_G2_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G2_NC
AARCH64_MOVW_PREL_G3 = lief._lief.ELF.TYPE.AARCH64_MOVW_PREL_G3
AARCH64_MOVW_SABS_G0 = lief._lief.ELF.TYPE.AARCH64_MOVW_SABS_G0
AARCH64_MOVW_SABS_G1 = lief._lief.ELF.TYPE.AARCH64_MOVW_SABS_G1
AARCH64_MOVW_SABS_G2 = lief._lief.ELF.TYPE.AARCH64_MOVW_SABS_G2
AARCH64_MOVW_UABS_G0 = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G0
AARCH64_MOVW_UABS_G0_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G0_NC
AARCH64_MOVW_UABS_G1 = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G1
AARCH64_MOVW_UABS_G1_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G1_NC
AARCH64_MOVW_UABS_G2 = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G2
AARCH64_MOVW_UABS_G2_NC = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G2_NC
AARCH64_MOVW_UABS_G3 = lief._lief.ELF.TYPE.AARCH64_MOVW_UABS_G3
AARCH64_NONE = lief._lief.ELF.TYPE.AARCH64_NONE
AARCH64_PREL16 = lief._lief.ELF.TYPE.AARCH64_PREL16
AARCH64_PREL32 = lief._lief.ELF.TYPE.AARCH64_PREL32
AARCH64_PREL64 = lief._lief.ELF.TYPE.AARCH64_PREL64
AARCH64_RELATIVE = lief._lief.ELF.TYPE.AARCH64_RELATIVE
AARCH64_TLSDESC = lief._lief.ELF.TYPE.AARCH64_TLSDESC
AARCH64_TLSDESC_ADD = lief._lief.ELF.TYPE.AARCH64_TLSDESC_ADD
AARCH64_TLSDESC_ADD_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSDESC_ADD_LO12_NC
AARCH64_TLSDESC_ADR_PAGE21 = lief._lief.ELF.TYPE.AARCH64_TLSDESC_ADR_PAGE21
AARCH64_TLSDESC_ADR_PREL21 = lief._lief.ELF.TYPE.AARCH64_TLSDESC_ADR_PREL21
AARCH64_TLSDESC_CALL = lief._lief.ELF.TYPE.AARCH64_TLSDESC_CALL
AARCH64_TLSDESC_LD64_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSDESC_LD64_LO12_NC
AARCH64_TLSDESC_LDR = lief._lief.ELF.TYPE.AARCH64_TLSDESC_LDR
AARCH64_TLSDESC_LD_PREL19 = lief._lief.ELF.TYPE.AARCH64_TLSDESC_LD_PREL19
AARCH64_TLSDESC_OFF_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSDESC_OFF_G0_NC
AARCH64_TLSDESC_OFF_G1 = lief._lief.ELF.TYPE.AARCH64_TLSDESC_OFF_G1
AARCH64_TLSGD_ADD_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSGD_ADD_LO12_NC
AARCH64_TLSGD_ADR_PAGE21 = lief._lief.ELF.TYPE.AARCH64_TLSGD_ADR_PAGE21
AARCH64_TLSGD_ADR_PREL21 = lief._lief.ELF.TYPE.AARCH64_TLSGD_ADR_PREL21
AARCH64_TLSGD_MOVW_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSGD_MOVW_G0_NC
AARCH64_TLSGD_MOVW_G1 = lief._lief.ELF.TYPE.AARCH64_TLSGD_MOVW_G1
AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 = lief._lief.ELF.TYPE.AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
AARCH64_TLSIE_LD_GOTTPREL_PREL19 = lief._lief.ELF.TYPE.AARCH64_TLSIE_LD_GOTTPREL_PREL19
AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
AARCH64_TLSIE_MOVW_GOTTPREL_G1 = lief._lief.ELF.TYPE.AARCH64_TLSIE_MOVW_GOTTPREL_G1
AARCH64_TLSLD_ADD_DTPREL_HI12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADD_DTPREL_HI12
AARCH64_TLSLD_ADD_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADD_DTPREL_LO12
AARCH64_TLSLD_ADD_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADD_DTPREL_LO12_NC
AARCH64_TLSLD_ADD_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADD_LO12_NC
AARCH64_TLSLD_ADR_PAGE21 = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADR_PAGE21
AARCH64_TLSLD_ADR_PREL21 = lief._lief.ELF.TYPE.AARCH64_TLSLD_ADR_PREL21
AARCH64_TLSLD_LDST128_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST128_DTPREL_LO12
AARCH64_TLSLD_LDST128_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST128_DTPREL_LO12_NC
AARCH64_TLSLD_LDST16_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST16_DTPREL_LO12
AARCH64_TLSLD_LDST16_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
AARCH64_TLSLD_LDST32_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST32_DTPREL_LO12
AARCH64_TLSLD_LDST32_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
AARCH64_TLSLD_LDST64_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST64_DTPREL_LO12
AARCH64_TLSLD_LDST64_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
AARCH64_TLSLD_LDST8_DTPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST8_DTPREL_LO12
AARCH64_TLSLD_LDST8_DTPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
AARCH64_TLSLD_LD_PREL19 = lief._lief.ELF.TYPE.AARCH64_TLSLD_LD_PREL19
AARCH64_TLSLD_MOVW_DTPREL_G0 = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_DTPREL_G0
AARCH64_TLSLD_MOVW_DTPREL_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_DTPREL_G0_NC
AARCH64_TLSLD_MOVW_DTPREL_G1 = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_DTPREL_G1
AARCH64_TLSLD_MOVW_DTPREL_G1_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_DTPREL_G1_NC
AARCH64_TLSLD_MOVW_DTPREL_G2 = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_DTPREL_G2
AARCH64_TLSLD_MOVW_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_G0_NC
AARCH64_TLSLD_MOVW_G1 = lief._lief.ELF.TYPE.AARCH64_TLSLD_MOVW_G1
AARCH64_TLSLE_ADD_TPREL_HI12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_ADD_TPREL_HI12
AARCH64_TLSLE_ADD_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_ADD_TPREL_LO12
AARCH64_TLSLE_ADD_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_ADD_TPREL_LO12_NC
AARCH64_TLSLE_LDST128_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST128_TPREL_LO12
AARCH64_TLSLE_LDST128_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST128_TPREL_LO12_NC
AARCH64_TLSLE_LDST16_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST16_TPREL_LO12
AARCH64_TLSLE_LDST16_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST16_TPREL_LO12_NC
AARCH64_TLSLE_LDST32_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST32_TPREL_LO12
AARCH64_TLSLE_LDST32_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST32_TPREL_LO12_NC
AARCH64_TLSLE_LDST64_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST64_TPREL_LO12
AARCH64_TLSLE_LDST64_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST64_TPREL_LO12_NC
AARCH64_TLSLE_LDST8_TPREL_LO12 = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST8_TPREL_LO12
AARCH64_TLSLE_LDST8_TPREL_LO12_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_LDST8_TPREL_LO12_NC
AARCH64_TLSLE_MOVW_TPREL_G0 = lief._lief.ELF.TYPE.AARCH64_TLSLE_MOVW_TPREL_G0
AARCH64_TLSLE_MOVW_TPREL_G0_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_MOVW_TPREL_G0_NC
AARCH64_TLSLE_MOVW_TPREL_G1 = lief._lief.ELF.TYPE.AARCH64_TLSLE_MOVW_TPREL_G1
AARCH64_TLSLE_MOVW_TPREL_G1_NC = lief._lief.ELF.TYPE.AARCH64_TLSLE_MOVW_TPREL_G1_NC
AARCH64_TLSLE_MOVW_TPREL_G2 = lief._lief.ELF.TYPE.AARCH64_TLSLE_MOVW_TPREL_G2
AARCH64_TLS_DTPMOD64 = lief._lief.ELF.TYPE.AARCH64_TLS_DTPMOD64
AARCH64_TLS_DTPREL64 = lief._lief.ELF.TYPE.AARCH64_TLS_DTPREL64
AARCH64_TLS_TPREL64 = lief._lief.ELF.TYPE.AARCH64_TLS_TPREL64
AARCH64_TSTBR14 = lief._lief.ELF.TYPE.AARCH64_TSTBR14
ARM_ABS12 = lief._lief.ELF.TYPE.ARM_ABS12
ARM_ABS16 = lief._lief.ELF.TYPE.ARM_ABS16
ARM_ABS32 = lief._lief.ELF.TYPE.ARM_ABS32
ARM_ABS32_NOI = lief._lief.ELF.TYPE.ARM_ABS32_NOI
ARM_ABS8 = lief._lief.ELF.TYPE.ARM_ABS8
ARM_ALU_PCREL_15_8 = lief._lief.ELF.TYPE.ARM_ALU_PCREL_15_8
ARM_ALU_PCREL_23_15 = lief._lief.ELF.TYPE.ARM_ALU_PCREL_23_15
ARM_ALU_PCREL_7_0 = lief._lief.ELF.TYPE.ARM_ALU_PCREL_7_0
ARM_ALU_PC_G0 = lief._lief.ELF.TYPE.ARM_ALU_PC_G0
ARM_ALU_PC_G0_NC = lief._lief.ELF.TYPE.ARM_ALU_PC_G0_NC
ARM_ALU_PC_G1 = lief._lief.ELF.TYPE.ARM_ALU_PC_G1
ARM_ALU_PC_G1_NC = lief._lief.ELF.TYPE.ARM_ALU_PC_G1_NC
ARM_ALU_PC_G2 = lief._lief.ELF.TYPE.ARM_ALU_PC_G2
ARM_ALU_SBREL_19_12_NC = lief._lief.ELF.TYPE.ARM_ALU_SBREL_19_12_NC
ARM_ALU_SBREL_27_20_CK = lief._lief.ELF.TYPE.ARM_ALU_SBREL_27_20_CK
ARM_ALU_SB_G0 = lief._lief.ELF.TYPE.ARM_ALU_SB_G0
ARM_ALU_SB_G0_NC = lief._lief.ELF.TYPE.ARM_ALU_SB_G0_NC
ARM_ALU_SB_G1 = lief._lief.ELF.TYPE.ARM_ALU_SB_G1
ARM_ALU_SB_G1_NC = lief._lief.ELF.TYPE.ARM_ALU_SB_G1_NC
ARM_ALU_SB_G2 = lief._lief.ELF.TYPE.ARM_ALU_SB_G2
ARM_BASE_ABS = lief._lief.ELF.TYPE.ARM_BASE_ABS
ARM_BASE_PREL = lief._lief.ELF.TYPE.ARM_BASE_PREL
ARM_BREL_ADJ = lief._lief.ELF.TYPE.ARM_BREL_ADJ
ARM_CALL = lief._lief.ELF.TYPE.ARM_CALL
ARM_COPY = lief._lief.ELF.TYPE.ARM_COPY
ARM_GLOB_DAT = lief._lief.ELF.TYPE.ARM_GLOB_DAT
ARM_GNU_VTENTRY = lief._lief.ELF.TYPE.ARM_GNU_VTENTRY
ARM_GNU_VTINHERIT = lief._lief.ELF.TYPE.ARM_GNU_VTINHERIT
ARM_GOTOFF12 = lief._lief.ELF.TYPE.ARM_GOTOFF12
ARM_GOTOFF32 = lief._lief.ELF.TYPE.ARM_GOTOFF32
ARM_GOTRELAX = lief._lief.ELF.TYPE.ARM_GOTRELAX
ARM_GOT_ABS = lief._lief.ELF.TYPE.ARM_GOT_ABS
ARM_GOT_BREL = lief._lief.ELF.TYPE.ARM_GOT_BREL
ARM_GOT_BREL12 = lief._lief.ELF.TYPE.ARM_GOT_BREL12
ARM_GOT_PREL = lief._lief.ELF.TYPE.ARM_GOT_PREL
ARM_IRELATIVE = lief._lief.ELF.TYPE.ARM_IRELATIVE
ARM_JUMP24 = lief._lief.ELF.TYPE.ARM_JUMP24
ARM_JUMP_SLOT = lief._lief.ELF.TYPE.ARM_JUMP_SLOT
ARM_LDC_PC_G0 = lief._lief.ELF.TYPE.ARM_LDC_PC_G0
ARM_LDC_PC_G1 = lief._lief.ELF.TYPE.ARM_LDC_PC_G1
ARM_LDC_PC_G2 = lief._lief.ELF.TYPE.ARM_LDC_PC_G2
ARM_LDC_SB_G0 = lief._lief.ELF.TYPE.ARM_LDC_SB_G0
ARM_LDC_SB_G1 = lief._lief.ELF.TYPE.ARM_LDC_SB_G1
ARM_LDC_SB_G2 = lief._lief.ELF.TYPE.ARM_LDC_SB_G2
ARM_LDRS_PC_G0 = lief._lief.ELF.TYPE.ARM_LDRS_PC_G0
ARM_LDRS_PC_G1 = lief._lief.ELF.TYPE.ARM_LDRS_PC_G1
ARM_LDRS_PC_G2 = lief._lief.ELF.TYPE.ARM_LDRS_PC_G2
ARM_LDRS_SB_G0 = lief._lief.ELF.TYPE.ARM_LDRS_SB_G0
ARM_LDRS_SB_G1 = lief._lief.ELF.TYPE.ARM_LDRS_SB_G1
ARM_LDRS_SB_G2 = lief._lief.ELF.TYPE.ARM_LDRS_SB_G2
ARM_LDR_PC_G0 = lief._lief.ELF.TYPE.ARM_LDR_PC_G0
ARM_LDR_PC_G1 = lief._lief.ELF.TYPE.ARM_LDR_PC_G1
ARM_LDR_PC_G2 = lief._lief.ELF.TYPE.ARM_LDR_PC_G2
ARM_LDR_SBREL_11_0_NC = lief._lief.ELF.TYPE.ARM_LDR_SBREL_11_0_NC
ARM_LDR_SB_G0 = lief._lief.ELF.TYPE.ARM_LDR_SB_G0
ARM_LDR_SB_G1 = lief._lief.ELF.TYPE.ARM_LDR_SB_G1
ARM_LDR_SB_G2 = lief._lief.ELF.TYPE.ARM_LDR_SB_G2
ARM_ME_TOO = lief._lief.ELF.TYPE.ARM_ME_TOO
ARM_MOVT_ABS = lief._lief.ELF.TYPE.ARM_MOVT_ABS
ARM_MOVT_BREL = lief._lief.ELF.TYPE.ARM_MOVT_BREL
ARM_MOVT_PREL = lief._lief.ELF.TYPE.ARM_MOVT_PREL
ARM_MOVW_ABS_NC = lief._lief.ELF.TYPE.ARM_MOVW_ABS_NC
ARM_MOVW_BREL = lief._lief.ELF.TYPE.ARM_MOVW_BREL
ARM_MOVW_BREL_NC = lief._lief.ELF.TYPE.ARM_MOVW_BREL_NC
ARM_MOVW_PREL_NC = lief._lief.ELF.TYPE.ARM_MOVW_PREL_NC
ARM_NONE = lief._lief.ELF.TYPE.ARM_NONE
ARM_PC24 = lief._lief.ELF.TYPE.ARM_PC24
ARM_PLT32 = lief._lief.ELF.TYPE.ARM_PLT32
ARM_PLT32_ABS = lief._lief.ELF.TYPE.ARM_PLT32_ABS
ARM_PREL31 = lief._lief.ELF.TYPE.ARM_PREL31
ARM_PRIVATE_0 = lief._lief.ELF.TYPE.ARM_PRIVATE_0
ARM_PRIVATE_1 = lief._lief.ELF.TYPE.ARM_PRIVATE_1
ARM_PRIVATE_10 = lief._lief.ELF.TYPE.ARM_PRIVATE_10
ARM_PRIVATE_11 = lief._lief.ELF.TYPE.ARM_PRIVATE_11
ARM_PRIVATE_12 = lief._lief.ELF.TYPE.ARM_PRIVATE_12
ARM_PRIVATE_13 = lief._lief.ELF.TYPE.ARM_PRIVATE_13
ARM_PRIVATE_14 = lief._lief.ELF.TYPE.ARM_PRIVATE_14
ARM_PRIVATE_15 = lief._lief.ELF.TYPE.ARM_PRIVATE_15
ARM_PRIVATE_2 = lief._lief.ELF.TYPE.ARM_PRIVATE_2
ARM_PRIVATE_3 = lief._lief.ELF.TYPE.ARM_PRIVATE_3
ARM_PRIVATE_4 = lief._lief.ELF.TYPE.ARM_PRIVATE_4
ARM_PRIVATE_5 = lief._lief.ELF.TYPE.ARM_PRIVATE_5
ARM_PRIVATE_6 = lief._lief.ELF.TYPE.ARM_PRIVATE_6
ARM_PRIVATE_7 = lief._lief.ELF.TYPE.ARM_PRIVATE_7
ARM_PRIVATE_8 = lief._lief.ELF.TYPE.ARM_PRIVATE_8
ARM_PRIVATE_9 = lief._lief.ELF.TYPE.ARM_PRIVATE_9
ARM_RBASE = lief._lief.ELF.TYPE.ARM_RBASE
ARM_REL32 = lief._lief.ELF.TYPE.ARM_REL32
ARM_REL32_NOI = lief._lief.ELF.TYPE.ARM_REL32_NOI
ARM_RELATIVE = lief._lief.ELF.TYPE.ARM_RELATIVE
ARM_RPC24 = lief._lief.ELF.TYPE.ARM_RPC24
ARM_RREL32 = lief._lief.ELF.TYPE.ARM_RREL32
ARM_RSBREL32 = lief._lief.ELF.TYPE.ARM_RSBREL32
ARM_RXPC25 = lief._lief.ELF.TYPE.ARM_RXPC25
ARM_SBREL31 = lief._lief.ELF.TYPE.ARM_SBREL31
ARM_SBREL32 = lief._lief.ELF.TYPE.ARM_SBREL32
ARM_TARGET1 = lief._lief.ELF.TYPE.ARM_TARGET1
ARM_TARGET2 = lief._lief.ELF.TYPE.ARM_TARGET2
ARM_THM_ABS5 = lief._lief.ELF.TYPE.ARM_THM_ABS5
ARM_THM_ALU_PREL_11_0 = lief._lief.ELF.TYPE.ARM_THM_ALU_PREL_11_0
ARM_THM_CALL = lief._lief.ELF.TYPE.ARM_THM_CALL
ARM_THM_JUMP11 = lief._lief.ELF.TYPE.ARM_THM_JUMP11
ARM_THM_JUMP19 = lief._lief.ELF.TYPE.ARM_THM_JUMP19
ARM_THM_JUMP24 = lief._lief.ELF.TYPE.ARM_THM_JUMP24
ARM_THM_JUMP6 = lief._lief.ELF.TYPE.ARM_THM_JUMP6
ARM_THM_JUMP8 = lief._lief.ELF.TYPE.ARM_THM_JUMP8
ARM_THM_MOVT_ABS = lief._lief.ELF.TYPE.ARM_THM_MOVT_ABS
ARM_THM_MOVT_BREL = lief._lief.ELF.TYPE.ARM_THM_MOVT_BREL
ARM_THM_MOVT_PREL = lief._lief.ELF.TYPE.ARM_THM_MOVT_PREL
ARM_THM_MOVW_ABS_NC = lief._lief.ELF.TYPE.ARM_THM_MOVW_ABS_NC
ARM_THM_MOVW_BREL = lief._lief.ELF.TYPE.ARM_THM_MOVW_BREL
ARM_THM_MOVW_BREL_NC = lief._lief.ELF.TYPE.ARM_THM_MOVW_BREL_NC
ARM_THM_MOVW_PREL_NC = lief._lief.ELF.TYPE.ARM_THM_MOVW_PREL_NC
ARM_THM_PC12 = lief._lief.ELF.TYPE.ARM_THM_PC12
ARM_THM_PC8 = lief._lief.ELF.TYPE.ARM_THM_PC8
ARM_THM_RPC22 = lief._lief.ELF.TYPE.ARM_THM_RPC22
ARM_THM_SWI8 = lief._lief.ELF.TYPE.ARM_THM_SWI8
ARM_THM_TLS_CALL = lief._lief.ELF.TYPE.ARM_THM_TLS_CALL
ARM_THM_TLS_DESCSEQ16 = lief._lief.ELF.TYPE.ARM_THM_TLS_DESCSEQ16
ARM_THM_TLS_DESCSEQ32 = lief._lief.ELF.TYPE.ARM_THM_TLS_DESCSEQ32
ARM_THM_XPC22 = lief._lief.ELF.TYPE.ARM_THM_XPC22
ARM_TLS_CALL = lief._lief.ELF.TYPE.ARM_TLS_CALL
ARM_TLS_DESC = lief._lief.ELF.TYPE.ARM_TLS_DESC
ARM_TLS_DESCSEQ = lief._lief.ELF.TYPE.ARM_TLS_DESCSEQ
ARM_TLS_DTPMOD32 = lief._lief.ELF.TYPE.ARM_TLS_DTPMOD32
ARM_TLS_DTPOFF32 = lief._lief.ELF.TYPE.ARM_TLS_DTPOFF32
ARM_TLS_GD32 = lief._lief.ELF.TYPE.ARM_TLS_GD32
ARM_TLS_GOTDESC = lief._lief.ELF.TYPE.ARM_TLS_GOTDESC
ARM_TLS_IE12GP = lief._lief.ELF.TYPE.ARM_TLS_IE12GP
ARM_TLS_IE32 = lief._lief.ELF.TYPE.ARM_TLS_IE32
ARM_TLS_LDM32 = lief._lief.ELF.TYPE.ARM_TLS_LDM32
ARM_TLS_LDO12 = lief._lief.ELF.TYPE.ARM_TLS_LDO12
ARM_TLS_LDO32 = lief._lief.ELF.TYPE.ARM_TLS_LDO32
ARM_TLS_LE12 = lief._lief.ELF.TYPE.ARM_TLS_LE12
ARM_TLS_LE32 = lief._lief.ELF.TYPE.ARM_TLS_LE32
ARM_TLS_TPOFF32 = lief._lief.ELF.TYPE.ARM_TLS_TPOFF32
ARM_V4BX = lief._lief.ELF.TYPE.ARM_V4BX
ARM_XPC25 = lief._lief.ELF.TYPE.ARM_XPC25
HEX_10_X = lief._lief.ELF.TYPE.HEX_10_X
HEX_11_X = lief._lief.ELF.TYPE.HEX_11_X
HEX_12_X = lief._lief.ELF.TYPE.HEX_12_X
HEX_16 = lief._lief.ELF.TYPE.HEX_16
HEX_16_X = lief._lief.ELF.TYPE.HEX_16_X
HEX_32 = lief._lief.ELF.TYPE.HEX_32
HEX_32_6_X = lief._lief.ELF.TYPE.HEX_32_6_X
HEX_32_PCREL = lief._lief.ELF.TYPE.HEX_32_PCREL
HEX_6_PCREL_X = lief._lief.ELF.TYPE.HEX_6_PCREL_X
HEX_6_X = lief._lief.ELF.TYPE.HEX_6_X
HEX_7_X = lief._lief.ELF.TYPE.HEX_7_X
HEX_8 = lief._lief.ELF.TYPE.HEX_8
HEX_8_X = lief._lief.ELF.TYPE.HEX_8_X
HEX_9_X = lief._lief.ELF.TYPE.HEX_9_X
HEX_B13_PCREL = lief._lief.ELF.TYPE.HEX_B13_PCREL
HEX_B13_PCREL_X = lief._lief.ELF.TYPE.HEX_B13_PCREL_X
HEX_B15_PCREL = lief._lief.ELF.TYPE.HEX_B15_PCREL
HEX_B15_PCREL_X = lief._lief.ELF.TYPE.HEX_B15_PCREL_X
HEX_B22_PCREL = lief._lief.ELF.TYPE.HEX_B22_PCREL
HEX_B22_PCREL_X = lief._lief.ELF.TYPE.HEX_B22_PCREL_X
HEX_B32_PCREL_X = lief._lief.ELF.TYPE.HEX_B32_PCREL_X
HEX_B7_PCREL = lief._lief.ELF.TYPE.HEX_B7_PCREL
HEX_B7_PCREL_X = lief._lief.ELF.TYPE.HEX_B7_PCREL_X
HEX_B9_PCREL = lief._lief.ELF.TYPE.HEX_B9_PCREL
HEX_B9_PCREL_X = lief._lief.ELF.TYPE.HEX_B9_PCREL_X
HEX_COPY = lief._lief.ELF.TYPE.HEX_COPY
HEX_DTPMOD_32 = lief._lief.ELF.TYPE.HEX_DTPMOD_32
HEX_DTPREL_11_X = lief._lief.ELF.TYPE.HEX_DTPREL_11_X
HEX_DTPREL_16 = lief._lief.ELF.TYPE.HEX_DTPREL_16
HEX_DTPREL_16_X = lief._lief.ELF.TYPE.HEX_DTPREL_16_X
HEX_DTPREL_32 = lief._lief.ELF.TYPE.HEX_DTPREL_32
HEX_DTPREL_32_6_X = lief._lief.ELF.TYPE.HEX_DTPREL_32_6_X
HEX_DTPREL_HI16 = lief._lief.ELF.TYPE.HEX_DTPREL_HI16
HEX_DTPREL_LO16 = lief._lief.ELF.TYPE.HEX_DTPREL_LO16
HEX_GD_GOT_11_X = lief._lief.ELF.TYPE.HEX_GD_GOT_11_X
HEX_GD_GOT_16 = lief._lief.ELF.TYPE.HEX_GD_GOT_16
HEX_GD_GOT_16_X = lief._lief.ELF.TYPE.HEX_GD_GOT_16_X
HEX_GD_GOT_32 = lief._lief.ELF.TYPE.HEX_GD_GOT_32
HEX_GD_GOT_32_6_X = lief._lief.ELF.TYPE.HEX_GD_GOT_32_6_X
HEX_GD_GOT_HI16 = lief._lief.ELF.TYPE.HEX_GD_GOT_HI16
HEX_GD_GOT_LO16 = lief._lief.ELF.TYPE.HEX_GD_GOT_LO16
HEX_GD_PLT_B22_PCREL = lief._lief.ELF.TYPE.HEX_GD_PLT_B22_PCREL
HEX_GLOB_DAT = lief._lief.ELF.TYPE.HEX_GLOB_DAT
HEX_GOTREL_11_X = lief._lief.ELF.TYPE.HEX_GOTREL_11_X
HEX_GOTREL_16_X = lief._lief.ELF.TYPE.HEX_GOTREL_16_X
HEX_GOTREL_32 = lief._lief.ELF.TYPE.HEX_GOTREL_32
HEX_GOTREL_32_6_X = lief._lief.ELF.TYPE.HEX_GOTREL_32_6_X
HEX_GOTREL_HI16 = lief._lief.ELF.TYPE.HEX_GOTREL_HI16
HEX_GOTREL_LO16 = lief._lief.ELF.TYPE.HEX_GOTREL_LO16
HEX_GOT_11_X = lief._lief.ELF.TYPE.HEX_GOT_11_X
HEX_GOT_16 = lief._lief.ELF.TYPE.HEX_GOT_16
HEX_GOT_16_X = lief._lief.ELF.TYPE.HEX_GOT_16_X
HEX_GOT_32 = lief._lief.ELF.TYPE.HEX_GOT_32
HEX_GOT_32_6_X = lief._lief.ELF.TYPE.HEX_GOT_32_6_X
HEX_GOT_HI16 = lief._lief.ELF.TYPE.HEX_GOT_HI16
HEX_GOT_LO16 = lief._lief.ELF.TYPE.HEX_GOT_LO16
HEX_GPREL16_0 = lief._lief.ELF.TYPE.HEX_GPREL16_0
HEX_GPREL16_1 = lief._lief.ELF.TYPE.HEX_GPREL16_1
HEX_GPREL16_2 = lief._lief.ELF.TYPE.HEX_GPREL16_2
HEX_GPREL16_3 = lief._lief.ELF.TYPE.HEX_GPREL16_3
HEX_HI16 = lief._lief.ELF.TYPE.HEX_HI16
HEX_HL16 = lief._lief.ELF.TYPE.HEX_HL16
HEX_IE_16_X = lief._lief.ELF.TYPE.HEX_IE_16_X
HEX_IE_32 = lief._lief.ELF.TYPE.HEX_IE_32
HEX_IE_32_6_X = lief._lief.ELF.TYPE.HEX_IE_32_6_X
HEX_IE_GOT_11_X = lief._lief.ELF.TYPE.HEX_IE_GOT_11_X
HEX_IE_GOT_16 = lief._lief.ELF.TYPE.HEX_IE_GOT_16
HEX_IE_GOT_16_X = lief._lief.ELF.TYPE.HEX_IE_GOT_16_X
HEX_IE_GOT_32 = lief._lief.ELF.TYPE.HEX_IE_GOT_32
HEX_IE_GOT_32_6_X = lief._lief.ELF.TYPE.HEX_IE_GOT_32_6_X
HEX_IE_GOT_HI16 = lief._lief.ELF.TYPE.HEX_IE_GOT_HI16
HEX_IE_GOT_LO16 = lief._lief.ELF.TYPE.HEX_IE_GOT_LO16
HEX_IE_HI16 = lief._lief.ELF.TYPE.HEX_IE_HI16
HEX_IE_LO16 = lief._lief.ELF.TYPE.HEX_IE_LO16
HEX_JMP_SLOT = lief._lief.ELF.TYPE.HEX_JMP_SLOT
HEX_LD_GOT_11_X = lief._lief.ELF.TYPE.HEX_LD_GOT_11_X
HEX_LD_GOT_16 = lief._lief.ELF.TYPE.HEX_LD_GOT_16
HEX_LD_GOT_16_X = lief._lief.ELF.TYPE.HEX_LD_GOT_16_X
HEX_LD_GOT_32 = lief._lief.ELF.TYPE.HEX_LD_GOT_32
HEX_LD_GOT_32_6_X = lief._lief.ELF.TYPE.HEX_LD_GOT_32_6_X
HEX_LD_GOT_HI16 = lief._lief.ELF.TYPE.HEX_LD_GOT_HI16
HEX_LD_GOT_LO16 = lief._lief.ELF.TYPE.HEX_LD_GOT_LO16
HEX_LD_PLT_B22_PCREL = lief._lief.ELF.TYPE.HEX_LD_PLT_B22_PCREL
HEX_LO16 = lief._lief.ELF.TYPE.HEX_LO16
HEX_NONE = lief._lief.ELF.TYPE.HEX_NONE
HEX_PLT_B22_PCREL = lief._lief.ELF.TYPE.HEX_PLT_B22_PCREL
HEX_RELATIVE = lief._lief.ELF.TYPE.HEX_RELATIVE
HEX_TPREL_11_X = lief._lief.ELF.TYPE.HEX_TPREL_11_X
HEX_TPREL_16 = lief._lief.ELF.TYPE.HEX_TPREL_16
HEX_TPREL_16_X = lief._lief.ELF.TYPE.HEX_TPREL_16_X
HEX_TPREL_32 = lief._lief.ELF.TYPE.HEX_TPREL_32
HEX_TPREL_32_6_X = lief._lief.ELF.TYPE.HEX_TPREL_32_6_X
HEX_TPREL_HI16 = lief._lief.ELF.TYPE.HEX_TPREL_HI16
HEX_TPREL_LO16 = lief._lief.ELF.TYPE.HEX_TPREL_LO16
LARCH_32 = lief._lief.ELF.TYPE.LARCH_32
LARCH_32_PCREL = lief._lief.ELF.TYPE.LARCH_32_PCREL
LARCH_64 = lief._lief.ELF.TYPE.LARCH_64
LARCH_ABS64_HI12 = lief._lief.ELF.TYPE.LARCH_ABS64_HI12
LARCH_ABS64_LO20 = lief._lief.ELF.TYPE.LARCH_ABS64_LO20
LARCH_ABS_HI20 = lief._lief.ELF.TYPE.LARCH_ABS_HI20
LARCH_ABS_LO12 = lief._lief.ELF.TYPE.LARCH_ABS_LO12
LARCH_ADD16 = lief._lief.ELF.TYPE.LARCH_ADD16
LARCH_ADD24 = lief._lief.ELF.TYPE.LARCH_ADD24
LARCH_ADD32 = lief._lief.ELF.TYPE.LARCH_ADD32
LARCH_ADD64 = lief._lief.ELF.TYPE.LARCH_ADD64
LARCH_ADD8 = lief._lief.ELF.TYPE.LARCH_ADD8
LARCH_B16 = lief._lief.ELF.TYPE.LARCH_B16
LARCH_B21 = lief._lief.ELF.TYPE.LARCH_B21
LARCH_B26 = lief._lief.ELF.TYPE.LARCH_B26
LARCH_COPY = lief._lief.ELF.TYPE.LARCH_COPY
LARCH_GNU_VTENTRY = lief._lief.ELF.TYPE.LARCH_GNU_VTENTRY
LARCH_GNU_VTINHERIT = lief._lief.ELF.TYPE.LARCH_GNU_VTINHERIT
LARCH_GOT64_HI12 = lief._lief.ELF.TYPE.LARCH_GOT64_HI12
LARCH_GOT64_LO20 = lief._lief.ELF.TYPE.LARCH_GOT64_LO20
LARCH_GOT64_PC_HI12 = lief._lief.ELF.TYPE.LARCH_GOT64_PC_HI12
LARCH_GOT64_PC_LO20 = lief._lief.ELF.TYPE.LARCH_GOT64_PC_LO20
LARCH_GOT_HI20 = lief._lief.ELF.TYPE.LARCH_GOT_HI20
LARCH_GOT_LO12 = lief._lief.ELF.TYPE.LARCH_GOT_LO12
LARCH_GOT_PC_HI20 = lief._lief.ELF.TYPE.LARCH_GOT_PC_HI20
LARCH_GOT_PC_LO12 = lief._lief.ELF.TYPE.LARCH_GOT_PC_LO12
LARCH_IRELATIVE = lief._lief.ELF.TYPE.LARCH_IRELATIVE
LARCH_JUMP_SLOT = lief._lief.ELF.TYPE.LARCH_JUMP_SLOT
LARCH_MARK_LA = lief._lief.ELF.TYPE.LARCH_MARK_LA
LARCH_MARK_PCREL = lief._lief.ELF.TYPE.LARCH_MARK_PCREL
LARCH_NONE = lief._lief.ELF.TYPE.LARCH_NONE
LARCH_PCALA64_HI12 = lief._lief.ELF.TYPE.LARCH_PCALA64_HI12
LARCH_PCALA64_LO20 = lief._lief.ELF.TYPE.LARCH_PCALA64_LO20
LARCH_PCALA_HI20 = lief._lief.ELF.TYPE.LARCH_PCALA_HI20
LARCH_PCALA_LO12 = lief._lief.ELF.TYPE.LARCH_PCALA_LO12
LARCH_RELATIVE = lief._lief.ELF.TYPE.LARCH_RELATIVE
LARCH_RELAX = lief._lief.ELF.TYPE.LARCH_RELAX
LARCH_SOP_ADD = lief._lief.ELF.TYPE.LARCH_SOP_ADD
LARCH_SOP_AND = lief._lief.ELF.TYPE.LARCH_SOP_AND
LARCH_SOP_ASSERT = lief._lief.ELF.TYPE.LARCH_SOP_ASSERT
LARCH_SOP_IF_ELSE = lief._lief.ELF.TYPE.LARCH_SOP_IF_ELSE
LARCH_SOP_NOT = lief._lief.ELF.TYPE.LARCH_SOP_NOT
LARCH_SOP_POP_32_S_0_10_10_16_S2 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_0_10_10_16_S2
LARCH_SOP_POP_32_S_0_5_10_16_S2 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_0_5_10_16_S2
LARCH_SOP_POP_32_S_10_12 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_10_12
LARCH_SOP_POP_32_S_10_16 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_10_16
LARCH_SOP_POP_32_S_10_16_S2 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_10_16_S2
LARCH_SOP_POP_32_S_10_5 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_10_5
LARCH_SOP_POP_32_S_5_20 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_S_5_20
LARCH_SOP_POP_32_U = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_U
LARCH_SOP_POP_32_U_10_12 = lief._lief.ELF.TYPE.LARCH_SOP_POP_32_U_10_12
LARCH_SOP_PUSH_ABSOLUTE = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_ABSOLUTE
LARCH_SOP_PUSH_DUP = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_DUP
LARCH_SOP_PUSH_GPREL = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_GPREL
LARCH_SOP_PUSH_PCREL = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_PCREL
LARCH_SOP_PUSH_PLT_PCREL = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_PLT_PCREL
LARCH_SOP_PUSH_TLS_GD = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_TLS_GD
LARCH_SOP_PUSH_TLS_GOT = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_TLS_GOT
LARCH_SOP_PUSH_TLS_TPREL = lief._lief.ELF.TYPE.LARCH_SOP_PUSH_TLS_TPREL
LARCH_SOP_SL = lief._lief.ELF.TYPE.LARCH_SOP_SL
LARCH_SOP_SR = lief._lief.ELF.TYPE.LARCH_SOP_SR
LARCH_SOP_SUB = lief._lief.ELF.TYPE.LARCH_SOP_SUB
LARCH_SUB16 = lief._lief.ELF.TYPE.LARCH_SUB16
LARCH_SUB24 = lief._lief.ELF.TYPE.LARCH_SUB24
LARCH_SUB32 = lief._lief.ELF.TYPE.LARCH_SUB32
LARCH_SUB64 = lief._lief.ELF.TYPE.LARCH_SUB64
LARCH_SUB8 = lief._lief.ELF.TYPE.LARCH_SUB8
LARCH_TLS_DTPMOD32 = lief._lief.ELF.TYPE.LARCH_TLS_DTPMOD32
LARCH_TLS_DTPMOD64 = lief._lief.ELF.TYPE.LARCH_TLS_DTPMOD64
LARCH_TLS_DTPREL32 = lief._lief.ELF.TYPE.LARCH_TLS_DTPREL32
LARCH_TLS_DTPREL64 = lief._lief.ELF.TYPE.LARCH_TLS_DTPREL64
LARCH_TLS_GD_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_GD_HI20
LARCH_TLS_GD_PC_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_GD_PC_HI20
LARCH_TLS_IE64_HI12 = lief._lief.ELF.TYPE.LARCH_TLS_IE64_HI12
LARCH_TLS_IE64_LO20 = lief._lief.ELF.TYPE.LARCH_TLS_IE64_LO20
LARCH_TLS_IE64_PC_HI12 = lief._lief.ELF.TYPE.LARCH_TLS_IE64_PC_HI12
LARCH_TLS_IE64_PC_LO20 = lief._lief.ELF.TYPE.LARCH_TLS_IE64_PC_LO20
LARCH_TLS_IE_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_IE_HI20
LARCH_TLS_IE_LO12 = lief._lief.ELF.TYPE.LARCH_TLS_IE_LO12
LARCH_TLS_IE_PC_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_IE_PC_HI20
LARCH_TLS_IE_PC_LO12 = lief._lief.ELF.TYPE.LARCH_TLS_IE_PC_LO12
LARCH_TLS_LD_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_LD_HI20
LARCH_TLS_LD_PC_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_LD_PC_HI20
LARCH_TLS_LE64_HI12 = lief._lief.ELF.TYPE.LARCH_TLS_LE64_HI12
LARCH_TLS_LE64_LO20 = lief._lief.ELF.TYPE.LARCH_TLS_LE64_LO20
LARCH_TLS_LE_HI20 = lief._lief.ELF.TYPE.LARCH_TLS_LE_HI20
LARCH_TLS_LE_LO12 = lief._lief.ELF.TYPE.LARCH_TLS_LE_LO12
LARCH_TLS_TPREL32 = lief._lief.ELF.TYPE.LARCH_TLS_TPREL32
LARCH_TLS_TPREL64 = lief._lief.ELF.TYPE.LARCH_TLS_TPREL64
MICROMIPS_26_S1 = lief._lief.ELF.TYPE.MICROMIPS_26_S1
MICROMIPS_CALL16 = lief._lief.ELF.TYPE.MICROMIPS_CALL16
MICROMIPS_CALL_HI16 = lief._lief.ELF.TYPE.MICROMIPS_CALL_HI16
MICROMIPS_CALL_LO16 = lief._lief.ELF.TYPE.MICROMIPS_CALL_LO16
MICROMIPS_GOT16 = lief._lief.ELF.TYPE.MICROMIPS_GOT16
MICROMIPS_GOT_DISP = lief._lief.ELF.TYPE.MICROMIPS_GOT_DISP
MICROMIPS_GOT_HI16 = lief._lief.ELF.TYPE.MICROMIPS_GOT_HI16
MICROMIPS_GOT_LO16 = lief._lief.ELF.TYPE.MICROMIPS_GOT_LO16
MICROMIPS_GOT_OFST = lief._lief.ELF.TYPE.MICROMIPS_GOT_OFST
MICROMIPS_GOT_PAGE = lief._lief.ELF.TYPE.MICROMIPS_GOT_PAGE
MICROMIPS_GPREL16 = lief._lief.ELF.TYPE.MICROMIPS_GPREL16
MICROMIPS_GPREL7_S2 = lief._lief.ELF.TYPE.MICROMIPS_GPREL7_S2
MICROMIPS_HI0_LO16 = lief._lief.ELF.TYPE.MICROMIPS_HI0_LO16
MICROMIPS_HI16 = lief._lief.ELF.TYPE.MICROMIPS_HI16
MICROMIPS_HIGHER = lief._lief.ELF.TYPE.MICROMIPS_HIGHER
MICROMIPS_HIGHEST = lief._lief.ELF.TYPE.MICROMIPS_HIGHEST
MICROMIPS_JALR = lief._lief.ELF.TYPE.MICROMIPS_JALR
MICROMIPS_LITERAL = lief._lief.ELF.TYPE.MICROMIPS_LITERAL
MICROMIPS_LO16 = lief._lief.ELF.TYPE.MICROMIPS_LO16
MICROMIPS_PC10_S1 = lief._lief.ELF.TYPE.MICROMIPS_PC10_S1
MICROMIPS_PC16_S1 = lief._lief.ELF.TYPE.MICROMIPS_PC16_S1
MICROMIPS_PC18_S3 = lief._lief.ELF.TYPE.MICROMIPS_PC18_S3
MICROMIPS_PC19_S2 = lief._lief.ELF.TYPE.MICROMIPS_PC19_S2
MICROMIPS_PC21_S2 = lief._lief.ELF.TYPE.MICROMIPS_PC21_S2
MICROMIPS_PC23_S2 = lief._lief.ELF.TYPE.MICROMIPS_PC23_S2
MICROMIPS_PC26_S2 = lief._lief.ELF.TYPE.MICROMIPS_PC26_S2
MICROMIPS_PC7_S1 = lief._lief.ELF.TYPE.MICROMIPS_PC7_S1
MICROMIPS_SCN_DISP = lief._lief.ELF.TYPE.MICROMIPS_SCN_DISP
MICROMIPS_SUB = lief._lief.ELF.TYPE.MICROMIPS_SUB
MICROMIPS_TLS_DTPREL_HI16 = lief._lief.ELF.TYPE.MICROMIPS_TLS_DTPREL_HI16
MICROMIPS_TLS_DTPREL_LO16 = lief._lief.ELF.TYPE.MICROMIPS_TLS_DTPREL_LO16
MICROMIPS_TLS_GD = lief._lief.ELF.TYPE.MICROMIPS_TLS_GD
MICROMIPS_TLS_GOTTPREL = lief._lief.ELF.TYPE.MICROMIPS_TLS_GOTTPREL
MICROMIPS_TLS_LDM = lief._lief.ELF.TYPE.MICROMIPS_TLS_LDM
MICROMIPS_TLS_TPREL_HI16 = lief._lief.ELF.TYPE.MICROMIPS_TLS_TPREL_HI16
MICROMIPS_TLS_TPREL_LO16 = lief._lief.ELF.TYPE.MICROMIPS_TLS_TPREL_LO16
MIPS16_26 = lief._lief.ELF.TYPE.MIPS16_26
MIPS16_CALL16 = lief._lief.ELF.TYPE.MIPS16_CALL16
MIPS16_GOT16 = lief._lief.ELF.TYPE.MIPS16_GOT16
MIPS16_GPREL = lief._lief.ELF.TYPE.MIPS16_GPREL
MIPS16_HI16 = lief._lief.ELF.TYPE.MIPS16_HI16
MIPS16_LO16 = lief._lief.ELF.TYPE.MIPS16_LO16
MIPS16_TLS_DTPREL_HI16 = lief._lief.ELF.TYPE.MIPS16_TLS_DTPREL_HI16
MIPS16_TLS_DTPREL_LO16 = lief._lief.ELF.TYPE.MIPS16_TLS_DTPREL_LO16
MIPS16_TLS_GD = lief._lief.ELF.TYPE.MIPS16_TLS_GD
MIPS16_TLS_GOTTPREL = lief._lief.ELF.TYPE.MIPS16_TLS_GOTTPREL
MIPS16_TLS_LDM = lief._lief.ELF.TYPE.MIPS16_TLS_LDM
MIPS16_TLS_TPREL_HI16 = lief._lief.ELF.TYPE.MIPS16_TLS_TPREL_HI16
MIPS16_TLS_TPREL_LO16 = lief._lief.ELF.TYPE.MIPS16_TLS_TPREL_LO16
MIPS_16 = lief._lief.ELF.TYPE.MIPS_16
MIPS_26 = lief._lief.ELF.TYPE.MIPS_26
MIPS_32 = lief._lief.ELF.TYPE.MIPS_32
MIPS_64 = lief._lief.ELF.TYPE.MIPS_64
MIPS_ADD_IMMEDIATE = lief._lief.ELF.TYPE.MIPS_ADD_IMMEDIATE
MIPS_CALL16 = lief._lief.ELF.TYPE.MIPS_CALL16
MIPS_CALL_HI16 = lief._lief.ELF.TYPE.MIPS_CALL_HI16
MIPS_CALL_LO16 = lief._lief.ELF.TYPE.MIPS_CALL_LO16
MIPS_COPY = lief._lief.ELF.TYPE.MIPS_COPY
MIPS_DELETE = lief._lief.ELF.TYPE.MIPS_DELETE
MIPS_EH = lief._lief.ELF.TYPE.MIPS_EH
MIPS_GLOB_DAT = lief._lief.ELF.TYPE.MIPS_GLOB_DAT
MIPS_GOT16 = lief._lief.ELF.TYPE.MIPS_GOT16
MIPS_GOT_DISP = lief._lief.ELF.TYPE.MIPS_GOT_DISP
MIPS_GOT_HI16 = lief._lief.ELF.TYPE.MIPS_GOT_HI16
MIPS_GOT_LO16 = lief._lief.ELF.TYPE.MIPS_GOT_LO16
MIPS_GOT_OFST = lief._lief.ELF.TYPE.MIPS_GOT_OFST
MIPS_GOT_PAGE = lief._lief.ELF.TYPE.MIPS_GOT_PAGE
MIPS_GPREL16 = lief._lief.ELF.TYPE.MIPS_GPREL16
MIPS_GPREL32 = lief._lief.ELF.TYPE.MIPS_GPREL32
MIPS_HI16 = lief._lief.ELF.TYPE.MIPS_HI16
MIPS_HIGHER = lief._lief.ELF.TYPE.MIPS_HIGHER
MIPS_HIGHEST = lief._lief.ELF.TYPE.MIPS_HIGHEST
MIPS_INSERT_A = lief._lief.ELF.TYPE.MIPS_INSERT_A
MIPS_INSERT_B = lief._lief.ELF.TYPE.MIPS_INSERT_B
MIPS_JALR = lief._lief.ELF.TYPE.MIPS_JALR
MIPS_JUMP_SLOT = lief._lief.ELF.TYPE.MIPS_JUMP_SLOT
MIPS_LITERAL = lief._lief.ELF.TYPE.MIPS_LITERAL
MIPS_LO16 = lief._lief.ELF.TYPE.MIPS_LO16
MIPS_NONE = lief._lief.ELF.TYPE.MIPS_NONE
MIPS_NUM = lief._lief.ELF.TYPE.MIPS_NUM
MIPS_PC16 = lief._lief.ELF.TYPE.MIPS_PC16
MIPS_PC18_S3 = lief._lief.ELF.TYPE.MIPS_PC18_S3
MIPS_PC19_S2 = lief._lief.ELF.TYPE.MIPS_PC19_S2
MIPS_PC21_S2 = lief._lief.ELF.TYPE.MIPS_PC21_S2
MIPS_PC26_S2 = lief._lief.ELF.TYPE.MIPS_PC26_S2
MIPS_PC32 = lief._lief.ELF.TYPE.MIPS_PC32
MIPS_PCHI16 = lief._lief.ELF.TYPE.MIPS_PCHI16
MIPS_PCLO16 = lief._lief.ELF.TYPE.MIPS_PCLO16
MIPS_PJUMP = lief._lief.ELF.TYPE.MIPS_PJUMP
MIPS_REL16 = lief._lief.ELF.TYPE.MIPS_REL16
MIPS_REL32 = lief._lief.ELF.TYPE.MIPS_REL32
MIPS_RELGOT = lief._lief.ELF.TYPE.MIPS_RELGOT
MIPS_SCN_DISP = lief._lief.ELF.TYPE.MIPS_SCN_DISP
MIPS_SHIFT5 = lief._lief.ELF.TYPE.MIPS_SHIFT5
MIPS_SHIFT6 = lief._lief.ELF.TYPE.MIPS_SHIFT6
MIPS_SUB = lief._lief.ELF.TYPE.MIPS_SUB
MIPS_TLS_DTPMOD32 = lief._lief.ELF.TYPE.MIPS_TLS_DTPMOD32
MIPS_TLS_DTPMOD64 = lief._lief.ELF.TYPE.MIPS_TLS_DTPMOD64
MIPS_TLS_DTPREL32 = lief._lief.ELF.TYPE.MIPS_TLS_DTPREL32
MIPS_TLS_DTPREL64 = lief._lief.ELF.TYPE.MIPS_TLS_DTPREL64
MIPS_TLS_DTPREL_HI16 = lief._lief.ELF.TYPE.MIPS_TLS_DTPREL_HI16
MIPS_TLS_DTPREL_LO16 = lief._lief.ELF.TYPE.MIPS_TLS_DTPREL_LO16
MIPS_TLS_GD = lief._lief.ELF.TYPE.MIPS_TLS_GD
MIPS_TLS_GOTTPREL = lief._lief.ELF.TYPE.MIPS_TLS_GOTTPREL
MIPS_TLS_LDM = lief._lief.ELF.TYPE.MIPS_TLS_LDM
MIPS_TLS_TPREL32 = lief._lief.ELF.TYPE.MIPS_TLS_TPREL32
MIPS_TLS_TPREL64 = lief._lief.ELF.TYPE.MIPS_TLS_TPREL64
MIPS_TLS_TPREL_HI16 = lief._lief.ELF.TYPE.MIPS_TLS_TPREL_HI16
MIPS_TLS_TPREL_LO16 = lief._lief.ELF.TYPE.MIPS_TLS_TPREL_LO16
MIPS_UNUSED1 = lief._lief.ELF.TYPE.MIPS_UNUSED1
MIPS_UNUSED2 = lief._lief.ELF.TYPE.MIPS_UNUSED2
MIPS_UNUSED3 = lief._lief.ELF.TYPE.MIPS_UNUSED3
PPC64_ADDR14 = lief._lief.ELF.TYPE.PPC64_ADDR14
PPC64_ADDR14_BRNTAKEN = lief._lief.ELF.TYPE.PPC64_ADDR14_BRNTAKEN
PPC64_ADDR14_BRTAKEN = lief._lief.ELF.TYPE.PPC64_ADDR14_BRTAKEN
PPC64_ADDR16 = lief._lief.ELF.TYPE.PPC64_ADDR16
PPC64_ADDR16_DS = lief._lief.ELF.TYPE.PPC64_ADDR16_DS
PPC64_ADDR16_HA = lief._lief.ELF.TYPE.PPC64_ADDR16_HA
PPC64_ADDR16_HI = lief._lief.ELF.TYPE.PPC64_ADDR16_HI
PPC64_ADDR16_HIGHER = lief._lief.ELF.TYPE.PPC64_ADDR16_HIGHER
PPC64_ADDR16_HIGHERA = lief._lief.ELF.TYPE.PPC64_ADDR16_HIGHERA
PPC64_ADDR16_HIGHEST = lief._lief.ELF.TYPE.PPC64_ADDR16_HIGHEST
PPC64_ADDR16_HIGHESTA = lief._lief.ELF.TYPE.PPC64_ADDR16_HIGHESTA
PPC64_ADDR16_LO = lief._lief.ELF.TYPE.PPC64_ADDR16_LO
PPC64_ADDR16_LO_DS = lief._lief.ELF.TYPE.PPC64_ADDR16_LO_DS
PPC64_ADDR24 = lief._lief.ELF.TYPE.PPC64_ADDR24
PPC64_ADDR32 = lief._lief.ELF.TYPE.PPC64_ADDR32
PPC64_ADDR64 = lief._lief.ELF.TYPE.PPC64_ADDR64
PPC64_DTPMOD64 = lief._lief.ELF.TYPE.PPC64_DTPMOD64
PPC64_DTPREL16 = lief._lief.ELF.TYPE.PPC64_DTPREL16
PPC64_DTPREL16_DS = lief._lief.ELF.TYPE.PPC64_DTPREL16_DS
PPC64_DTPREL16_HA = lief._lief.ELF.TYPE.PPC64_DTPREL16_HA
PPC64_DTPREL16_HI = lief._lief.ELF.TYPE.PPC64_DTPREL16_HI
PPC64_DTPREL16_HIGHER = lief._lief.ELF.TYPE.PPC64_DTPREL16_HIGHER
PPC64_DTPREL16_HIGHERA = lief._lief.ELF.TYPE.PPC64_DTPREL16_HIGHERA
PPC64_DTPREL16_HIGHEST = lief._lief.ELF.TYPE.PPC64_DTPREL16_HIGHEST
PPC64_DTPREL16_HIGHESTA = lief._lief.ELF.TYPE.PPC64_DTPREL16_HIGHESTA
PPC64_DTPREL16_LO = lief._lief.ELF.TYPE.PPC64_DTPREL16_LO
PPC64_DTPREL16_LO_DS = lief._lief.ELF.TYPE.PPC64_DTPREL16_LO_DS
PPC64_DTPREL64 = lief._lief.ELF.TYPE.PPC64_DTPREL64
PPC64_GOT16 = lief._lief.ELF.TYPE.PPC64_GOT16
PPC64_GOT16_DS = lief._lief.ELF.TYPE.PPC64_GOT16_DS
PPC64_GOT16_HA = lief._lief.ELF.TYPE.PPC64_GOT16_HA
PPC64_GOT16_HI = lief._lief.ELF.TYPE.PPC64_GOT16_HI
PPC64_GOT16_LO = lief._lief.ELF.TYPE.PPC64_GOT16_LO
PPC64_GOT16_LO_DS = lief._lief.ELF.TYPE.PPC64_GOT16_LO_DS
PPC64_GOT_DTPREL16_DS = lief._lief.ELF.TYPE.PPC64_GOT_DTPREL16_DS
PPC64_GOT_DTPREL16_HA = lief._lief.ELF.TYPE.PPC64_GOT_DTPREL16_HA
PPC64_GOT_DTPREL16_HI = lief._lief.ELF.TYPE.PPC64_GOT_DTPREL16_HI
PPC64_GOT_DTPREL16_LO_DS = lief._lief.ELF.TYPE.PPC64_GOT_DTPREL16_LO_DS
PPC64_GOT_TLSGD16 = lief._lief.ELF.TYPE.PPC64_GOT_TLSGD16
PPC64_GOT_TLSGD16_HA = lief._lief.ELF.TYPE.PPC64_GOT_TLSGD16_HA
PPC64_GOT_TLSGD16_HI = lief._lief.ELF.TYPE.PPC64_GOT_TLSGD16_HI
PPC64_GOT_TLSGD16_LO = lief._lief.ELF.TYPE.PPC64_GOT_TLSGD16_LO
PPC64_GOT_TLSLD16 = lief._lief.ELF.TYPE.PPC64_GOT_TLSLD16
PPC64_GOT_TLSLD16_HA = lief._lief.ELF.TYPE.PPC64_GOT_TLSLD16_HA
PPC64_GOT_TLSLD16_HI = lief._lief.ELF.TYPE.PPC64_GOT_TLSLD16_HI
PPC64_GOT_TLSLD16_LO = lief._lief.ELF.TYPE.PPC64_GOT_TLSLD16_LO
PPC64_GOT_TPREL16_DS = lief._lief.ELF.TYPE.PPC64_GOT_TPREL16_DS
PPC64_GOT_TPREL16_HA = lief._lief.ELF.TYPE.PPC64_GOT_TPREL16_HA
PPC64_GOT_TPREL16_HI = lief._lief.ELF.TYPE.PPC64_GOT_TPREL16_HI
PPC64_GOT_TPREL16_LO_DS = lief._lief.ELF.TYPE.PPC64_GOT_TPREL16_LO_DS
PPC64_JMP_SLOT = lief._lief.ELF.TYPE.PPC64_JMP_SLOT
PPC64_NONE = lief._lief.ELF.TYPE.PPC64_NONE
PPC64_REL14 = lief._lief.ELF.TYPE.PPC64_REL14
PPC64_REL14_BRNTAKEN = lief._lief.ELF.TYPE.PPC64_REL14_BRNTAKEN
PPC64_REL14_BRTAKEN = lief._lief.ELF.TYPE.PPC64_REL14_BRTAKEN
PPC64_REL16 = lief._lief.ELF.TYPE.PPC64_REL16
PPC64_REL16_HA = lief._lief.ELF.TYPE.PPC64_REL16_HA
PPC64_REL16_HI = lief._lief.ELF.TYPE.PPC64_REL16_HI
PPC64_REL16_LO = lief._lief.ELF.TYPE.PPC64_REL16_LO
PPC64_REL24 = lief._lief.ELF.TYPE.PPC64_REL24
PPC64_REL32 = lief._lief.ELF.TYPE.PPC64_REL32
PPC64_REL64 = lief._lief.ELF.TYPE.PPC64_REL64
PPC64_RELATIVE = lief._lief.ELF.TYPE.PPC64_RELATIVE
PPC64_TLS = lief._lief.ELF.TYPE.PPC64_TLS
PPC64_TLSGD = lief._lief.ELF.TYPE.PPC64_TLSGD
PPC64_TLSLD = lief._lief.ELF.TYPE.PPC64_TLSLD
PPC64_TOC = lief._lief.ELF.TYPE.PPC64_TOC
PPC64_TOC16 = lief._lief.ELF.TYPE.PPC64_TOC16
PPC64_TOC16_DS = lief._lief.ELF.TYPE.PPC64_TOC16_DS
PPC64_TOC16_HA = lief._lief.ELF.TYPE.PPC64_TOC16_HA
PPC64_TOC16_HI = lief._lief.ELF.TYPE.PPC64_TOC16_HI
PPC64_TOC16_LO = lief._lief.ELF.TYPE.PPC64_TOC16_LO
PPC64_TOC16_LO_DS = lief._lief.ELF.TYPE.PPC64_TOC16_LO_DS
PPC64_TPREL16 = lief._lief.ELF.TYPE.PPC64_TPREL16
PPC64_TPREL16_DS = lief._lief.ELF.TYPE.PPC64_TPREL16_DS
PPC64_TPREL16_HA = lief._lief.ELF.TYPE.PPC64_TPREL16_HA
PPC64_TPREL16_HI = lief._lief.ELF.TYPE.PPC64_TPREL16_HI
PPC64_TPREL16_HIGHER = lief._lief.ELF.TYPE.PPC64_TPREL16_HIGHER
PPC64_TPREL16_HIGHERA = lief._lief.ELF.TYPE.PPC64_TPREL16_HIGHERA
PPC64_TPREL16_HIGHEST = lief._lief.ELF.TYPE.PPC64_TPREL16_HIGHEST
PPC64_TPREL16_HIGHESTA = lief._lief.ELF.TYPE.PPC64_TPREL16_HIGHESTA
PPC64_TPREL16_LO = lief._lief.ELF.TYPE.PPC64_TPREL16_LO
PPC64_TPREL16_LO_DS = lief._lief.ELF.TYPE.PPC64_TPREL16_LO_DS
PPC64_TPREL64 = lief._lief.ELF.TYPE.PPC64_TPREL64
PPC_ADDR14 = lief._lief.ELF.TYPE.PPC_ADDR14
PPC_ADDR14_BRNTAKEN = lief._lief.ELF.TYPE.PPC_ADDR14_BRNTAKEN
PPC_ADDR14_BRTAKEN = lief._lief.ELF.TYPE.PPC_ADDR14_BRTAKEN
PPC_ADDR16 = lief._lief.ELF.TYPE.PPC_ADDR16
PPC_ADDR16_HA = lief._lief.ELF.TYPE.PPC_ADDR16_HA
PPC_ADDR16_HI = lief._lief.ELF.TYPE.PPC_ADDR16_HI
PPC_ADDR16_LO = lief._lief.ELF.TYPE.PPC_ADDR16_LO
PPC_ADDR24 = lief._lief.ELF.TYPE.PPC_ADDR24
PPC_ADDR32 = lief._lief.ELF.TYPE.PPC_ADDR32
PPC_DTPMOD32 = lief._lief.ELF.TYPE.PPC_DTPMOD32
PPC_DTPREL16 = lief._lief.ELF.TYPE.PPC_DTPREL16
PPC_DTPREL16_HA = lief._lief.ELF.TYPE.PPC_DTPREL16_HA
PPC_DTPREL16_HI = lief._lief.ELF.TYPE.PPC_DTPREL16_HI
PPC_DTPREL16_LO = lief._lief.ELF.TYPE.PPC_DTPREL16_LO
PPC_DTPREL32 = lief._lief.ELF.TYPE.PPC_DTPREL32
PPC_GOT16 = lief._lief.ELF.TYPE.PPC_GOT16
PPC_GOT16_HA = lief._lief.ELF.TYPE.PPC_GOT16_HA
PPC_GOT16_HI = lief._lief.ELF.TYPE.PPC_GOT16_HI
PPC_GOT16_LO = lief._lief.ELF.TYPE.PPC_GOT16_LO
PPC_GOT_DTPREL16 = lief._lief.ELF.TYPE.PPC_GOT_DTPREL16
PPC_GOT_DTPREL16_HA = lief._lief.ELF.TYPE.PPC_GOT_DTPREL16_HA
PPC_GOT_DTPREL16_HI = lief._lief.ELF.TYPE.PPC_GOT_DTPREL16_HI
PPC_GOT_DTPREL16_LO = lief._lief.ELF.TYPE.PPC_GOT_DTPREL16_LO
PPC_GOT_TLSGD16 = lief._lief.ELF.TYPE.PPC_GOT_TLSGD16
PPC_GOT_TLSGD16_HA = lief._lief.ELF.TYPE.PPC_GOT_TLSGD16_HA
PPC_GOT_TLSGD16_HI = lief._lief.ELF.TYPE.PPC_GOT_TLSGD16_HI
PPC_GOT_TLSGD16_LO = lief._lief.ELF.TYPE.PPC_GOT_TLSGD16_LO
PPC_GOT_TLSLD16 = lief._lief.ELF.TYPE.PPC_GOT_TLSLD16
PPC_GOT_TLSLD16_HA = lief._lief.ELF.TYPE.PPC_GOT_TLSLD16_HA
PPC_GOT_TLSLD16_HI = lief._lief.ELF.TYPE.PPC_GOT_TLSLD16_HI
PPC_GOT_TLSLD16_LO = lief._lief.ELF.TYPE.PPC_GOT_TLSLD16_LO
PPC_GOT_TPREL16 = lief._lief.ELF.TYPE.PPC_GOT_TPREL16
PPC_GOT_TPREL16_HA = lief._lief.ELF.TYPE.PPC_GOT_TPREL16_HA
PPC_GOT_TPREL16_HI = lief._lief.ELF.TYPE.PPC_GOT_TPREL16_HI
PPC_GOT_TPREL16_LO = lief._lief.ELF.TYPE.PPC_GOT_TPREL16_LO
PPC_JMP_SLOT = lief._lief.ELF.TYPE.PPC_JMP_SLOT
PPC_LOCAL24PC = lief._lief.ELF.TYPE.PPC_LOCAL24PC
PPC_NONE = lief._lief.ELF.TYPE.PPC_NONE
PPC_PLTREL24 = lief._lief.ELF.TYPE.PPC_PLTREL24
PPC_REL14 = lief._lief.ELF.TYPE.PPC_REL14
PPC_REL14_BRNTAKEN = lief._lief.ELF.TYPE.PPC_REL14_BRNTAKEN
PPC_REL14_BRTAKEN = lief._lief.ELF.TYPE.PPC_REL14_BRTAKEN
PPC_REL16 = lief._lief.ELF.TYPE.PPC_REL16
PPC_REL16_HA = lief._lief.ELF.TYPE.PPC_REL16_HA
PPC_REL16_HI = lief._lief.ELF.TYPE.PPC_REL16_HI
PPC_REL16_LO = lief._lief.ELF.TYPE.PPC_REL16_LO
PPC_REL24 = lief._lief.ELF.TYPE.PPC_REL24
PPC_REL32 = lief._lief.ELF.TYPE.PPC_REL32
PPC_RELATIVE = lief._lief.ELF.TYPE.PPC_RELATIVE
PPC_TLS = lief._lief.ELF.TYPE.PPC_TLS
PPC_TLSGD = lief._lief.ELF.TYPE.PPC_TLSGD
PPC_TLSLD = lief._lief.ELF.TYPE.PPC_TLSLD
PPC_TPREL16 = lief._lief.ELF.TYPE.PPC_TPREL16
PPC_TPREL16_HA = lief._lief.ELF.TYPE.PPC_TPREL16_HA
PPC_TPREL16_HI = lief._lief.ELF.TYPE.PPC_TPREL16_HI
PPC_TPREL16_LO = lief._lief.ELF.TYPE.PPC_TPREL16_LO
PPC_TPREL32 = lief._lief.ELF.TYPE.PPC_TPREL32
SPARC_10 = lief._lief.ELF.TYPE.SPARC_10
SPARC_11 = lief._lief.ELF.TYPE.SPARC_11
SPARC_13 = lief._lief.ELF.TYPE.SPARC_13
SPARC_16 = lief._lief.ELF.TYPE.SPARC_16
SPARC_22 = lief._lief.ELF.TYPE.SPARC_22
SPARC_32 = lief._lief.ELF.TYPE.SPARC_32
SPARC_5 = lief._lief.ELF.TYPE.SPARC_5
SPARC_6 = lief._lief.ELF.TYPE.SPARC_6
SPARC_64 = lief._lief.ELF.TYPE.SPARC_64
SPARC_7 = lief._lief.ELF.TYPE.SPARC_7
SPARC_8 = lief._lief.ELF.TYPE.SPARC_8
SPARC_COPY = lief._lief.ELF.TYPE.SPARC_COPY
SPARC_DISP16 = lief._lief.ELF.TYPE.SPARC_DISP16
SPARC_DISP32 = lief._lief.ELF.TYPE.SPARC_DISP32
SPARC_DISP64 = lief._lief.ELF.TYPE.SPARC_DISP64
SPARC_DISP8 = lief._lief.ELF.TYPE.SPARC_DISP8
SPARC_GLOB_DAT = lief._lief.ELF.TYPE.SPARC_GLOB_DAT
SPARC_GOT10 = lief._lief.ELF.TYPE.SPARC_GOT10
SPARC_GOT13 = lief._lief.ELF.TYPE.SPARC_GOT13
SPARC_GOT22 = lief._lief.ELF.TYPE.SPARC_GOT22
SPARC_GOTDATA_HIX22 = lief._lief.ELF.TYPE.SPARC_GOTDATA_HIX22
SPARC_GOTDATA_LOX10 = lief._lief.ELF.TYPE.SPARC_GOTDATA_LOX10
SPARC_GOTDATA_OP = lief._lief.ELF.TYPE.SPARC_GOTDATA_OP
SPARC_GOTDATA_OP_HIX22 = lief._lief.ELF.TYPE.SPARC_GOTDATA_OP_HIX22
SPARC_GOTDATA_OP_LOX10 = lief._lief.ELF.TYPE.SPARC_GOTDATA_OP_LOX10
SPARC_H44 = lief._lief.ELF.TYPE.SPARC_H44
SPARC_HH22 = lief._lief.ELF.TYPE.SPARC_HH22
SPARC_HI22 = lief._lief.ELF.TYPE.SPARC_HI22
SPARC_HIPLT22 = lief._lief.ELF.TYPE.SPARC_HIPLT22
SPARC_HIX22 = lief._lief.ELF.TYPE.SPARC_HIX22
SPARC_HM10 = lief._lief.ELF.TYPE.SPARC_HM10
SPARC_JMP_SLOT = lief._lief.ELF.TYPE.SPARC_JMP_SLOT
SPARC_L44 = lief._lief.ELF.TYPE.SPARC_L44
SPARC_LM22 = lief._lief.ELF.TYPE.SPARC_LM22
SPARC_LO10 = lief._lief.ELF.TYPE.SPARC_LO10
SPARC_LOPLT10 = lief._lief.ELF.TYPE.SPARC_LOPLT10
SPARC_LOX10 = lief._lief.ELF.TYPE.SPARC_LOX10
SPARC_M44 = lief._lief.ELF.TYPE.SPARC_M44
SPARC_NONE = lief._lief.ELF.TYPE.SPARC_NONE
SPARC_OLO10 = lief._lief.ELF.TYPE.SPARC_OLO10
SPARC_PC10 = lief._lief.ELF.TYPE.SPARC_PC10
SPARC_PC22 = lief._lief.ELF.TYPE.SPARC_PC22
SPARC_PCPLT10 = lief._lief.ELF.TYPE.SPARC_PCPLT10
SPARC_PCPLT22 = lief._lief.ELF.TYPE.SPARC_PCPLT22
SPARC_PCPLT32 = lief._lief.ELF.TYPE.SPARC_PCPLT32
SPARC_PC_HH22 = lief._lief.ELF.TYPE.SPARC_PC_HH22
SPARC_PC_HM10 = lief._lief.ELF.TYPE.SPARC_PC_HM10
SPARC_PC_LM22 = lief._lief.ELF.TYPE.SPARC_PC_LM22
SPARC_PLT32 = lief._lief.ELF.TYPE.SPARC_PLT32
SPARC_PLT64 = lief._lief.ELF.TYPE.SPARC_PLT64
SPARC_REGISTER = lief._lief.ELF.TYPE.SPARC_REGISTER
SPARC_RELATIVE = lief._lief.ELF.TYPE.SPARC_RELATIVE
SPARC_TLS_DTPMOD32 = lief._lief.ELF.TYPE.SPARC_TLS_DTPMOD32
SPARC_TLS_DTPMOD64 = lief._lief.ELF.TYPE.SPARC_TLS_DTPMOD64
SPARC_TLS_DTPOFF32 = lief._lief.ELF.TYPE.SPARC_TLS_DTPOFF32
SPARC_TLS_DTPOFF64 = lief._lief.ELF.TYPE.SPARC_TLS_DTPOFF64
SPARC_TLS_GD_ADD = lief._lief.ELF.TYPE.SPARC_TLS_GD_ADD
SPARC_TLS_GD_CALL = lief._lief.ELF.TYPE.SPARC_TLS_GD_CALL
SPARC_TLS_GD_HI22 = lief._lief.ELF.TYPE.SPARC_TLS_GD_HI22
SPARC_TLS_GD_LO10 = lief._lief.ELF.TYPE.SPARC_TLS_GD_LO10
SPARC_TLS_IE_ADD = lief._lief.ELF.TYPE.SPARC_TLS_IE_ADD
SPARC_TLS_IE_HI22 = lief._lief.ELF.TYPE.SPARC_TLS_IE_HI22
SPARC_TLS_IE_LD = lief._lief.ELF.TYPE.SPARC_TLS_IE_LD
SPARC_TLS_IE_LDX = lief._lief.ELF.TYPE.SPARC_TLS_IE_LDX
SPARC_TLS_IE_LO10 = lief._lief.ELF.TYPE.SPARC_TLS_IE_LO10
SPARC_TLS_LDM_ADD = lief._lief.ELF.TYPE.SPARC_TLS_LDM_ADD
SPARC_TLS_LDM_CALL = lief._lief.ELF.TYPE.SPARC_TLS_LDM_CALL
SPARC_TLS_LDM_HI22 = lief._lief.ELF.TYPE.SPARC_TLS_LDM_HI22
SPARC_TLS_LDM_LO10 = lief._lief.ELF.TYPE.SPARC_TLS_LDM_LO10
SPARC_TLS_LDO_ADD = lief._lief.ELF.TYPE.SPARC_TLS_LDO_ADD
SPARC_TLS_LDO_HIX22 = lief._lief.ELF.TYPE.SPARC_TLS_LDO_HIX22
SPARC_TLS_LDO_LOX10 = lief._lief.ELF.TYPE.SPARC_TLS_LDO_LOX10
SPARC_TLS_LE_HIX22 = lief._lief.ELF.TYPE.SPARC_TLS_LE_HIX22
SPARC_TLS_LE_LOX10 = lief._lief.ELF.TYPE.SPARC_TLS_LE_LOX10
SPARC_TLS_TPOFF32 = lief._lief.ELF.TYPE.SPARC_TLS_TPOFF32
SPARC_TLS_TPOFF64 = lief._lief.ELF.TYPE.SPARC_TLS_TPOFF64
SPARC_UA16 = lief._lief.ELF.TYPE.SPARC_UA16
SPARC_UA32 = lief._lief.ELF.TYPE.SPARC_UA32
SPARC_UA64 = lief._lief.ELF.TYPE.SPARC_UA64
SPARC_WDISP16 = lief._lief.ELF.TYPE.SPARC_WDISP16
SPARC_WDISP19 = lief._lief.ELF.TYPE.SPARC_WDISP19
SPARC_WDISP22 = lief._lief.ELF.TYPE.SPARC_WDISP22
SPARC_WDISP30 = lief._lief.ELF.TYPE.SPARC_WDISP30
SPARC_WPLT30 = lief._lief.ELF.TYPE.SPARC_WPLT30
SYSZ_12 = lief._lief.ELF.TYPE.SYSZ_12
SYSZ_16 = lief._lief.ELF.TYPE.SYSZ_16
SYSZ_20 = lief._lief.ELF.TYPE.SYSZ_20
SYSZ_32 = lief._lief.ELF.TYPE.SYSZ_32
SYSZ_64 = lief._lief.ELF.TYPE.SYSZ_64
SYSZ_8 = lief._lief.ELF.TYPE.SYSZ_8
SYSZ_COPY = lief._lief.ELF.TYPE.SYSZ_COPY
SYSZ_GLOB_DAT = lief._lief.ELF.TYPE.SYSZ_GLOB_DAT
SYSZ_GOT12 = lief._lief.ELF.TYPE.SYSZ_GOT12
SYSZ_GOT16 = lief._lief.ELF.TYPE.SYSZ_GOT16
SYSZ_GOT20 = lief._lief.ELF.TYPE.SYSZ_GOT20
SYSZ_GOT32 = lief._lief.ELF.TYPE.SYSZ_GOT32
SYSZ_GOT64 = lief._lief.ELF.TYPE.SYSZ_GOT64
SYSZ_GOTENT = lief._lief.ELF.TYPE.SYSZ_GOTENT
SYSZ_GOTOFF = lief._lief.ELF.TYPE.SYSZ_GOTOFF
SYSZ_GOTOFF16 = lief._lief.ELF.TYPE.SYSZ_GOTOFF16
SYSZ_GOTOFF64 = lief._lief.ELF.TYPE.SYSZ_GOTOFF64
SYSZ_GOTPC = lief._lief.ELF.TYPE.SYSZ_GOTPC
SYSZ_GOTPCDBL = lief._lief.ELF.TYPE.SYSZ_GOTPCDBL
SYSZ_GOTPLT12 = lief._lief.ELF.TYPE.SYSZ_GOTPLT12
SYSZ_GOTPLT16 = lief._lief.ELF.TYPE.SYSZ_GOTPLT16
SYSZ_GOTPLT20 = lief._lief.ELF.TYPE.SYSZ_GOTPLT20
SYSZ_GOTPLT32 = lief._lief.ELF.TYPE.SYSZ_GOTPLT32
SYSZ_GOTPLT64 = lief._lief.ELF.TYPE.SYSZ_GOTPLT64
SYSZ_GOTPLTENT = lief._lief.ELF.TYPE.SYSZ_GOTPLTENT
SYSZ_IRELATIVE = lief._lief.ELF.TYPE.SYSZ_IRELATIVE
SYSZ_JMP_SLOT = lief._lief.ELF.TYPE.SYSZ_JMP_SLOT
SYSZ_NONE = lief._lief.ELF.TYPE.SYSZ_NONE
SYSZ_PC16 = lief._lief.ELF.TYPE.SYSZ_PC16
SYSZ_PC16DBL = lief._lief.ELF.TYPE.SYSZ_PC16DBL
SYSZ_PC32 = lief._lief.ELF.TYPE.SYSZ_PC32
SYSZ_PC32DBL = lief._lief.ELF.TYPE.SYSZ_PC32DBL
SYSZ_PC64 = lief._lief.ELF.TYPE.SYSZ_PC64
SYSZ_PLT16DBL = lief._lief.ELF.TYPE.SYSZ_PLT16DBL
SYSZ_PLT32 = lief._lief.ELF.TYPE.SYSZ_PLT32
SYSZ_PLT32DBL = lief._lief.ELF.TYPE.SYSZ_PLT32DBL
SYSZ_PLT64 = lief._lief.ELF.TYPE.SYSZ_PLT64
SYSZ_PLTOFF16 = lief._lief.ELF.TYPE.SYSZ_PLTOFF16
SYSZ_PLTOFF32 = lief._lief.ELF.TYPE.SYSZ_PLTOFF32
SYSZ_PLTOFF64 = lief._lief.ELF.TYPE.SYSZ_PLTOFF64
SYSZ_RELATIVE = lief._lief.ELF.TYPE.SYSZ_RELATIVE
SYSZ_TLS_DTPMOD = lief._lief.ELF.TYPE.SYSZ_TLS_DTPMOD
SYSZ_TLS_DTPOFF = lief._lief.ELF.TYPE.SYSZ_TLS_DTPOFF
SYSZ_TLS_GD32 = lief._lief.ELF.TYPE.SYSZ_TLS_GD32
SYSZ_TLS_GD64 = lief._lief.ELF.TYPE.SYSZ_TLS_GD64
SYSZ_TLS_GDCALL = lief._lief.ELF.TYPE.SYSZ_TLS_GDCALL
SYSZ_TLS_GOTIE12 = lief._lief.ELF.TYPE.SYSZ_TLS_GOTIE12
SYSZ_TLS_GOTIE20 = lief._lief.ELF.TYPE.SYSZ_TLS_GOTIE20
SYSZ_TLS_GOTIE32 = lief._lief.ELF.TYPE.SYSZ_TLS_GOTIE32
SYSZ_TLS_GOTIE64 = lief._lief.ELF.TYPE.SYSZ_TLS_GOTIE64
SYSZ_TLS_IE32 = lief._lief.ELF.TYPE.SYSZ_TLS_IE32
SYSZ_TLS_IE64 = lief._lief.ELF.TYPE.SYSZ_TLS_IE64
SYSZ_TLS_IEENT = lief._lief.ELF.TYPE.SYSZ_TLS_IEENT
SYSZ_TLS_LDCALL = lief._lief.ELF.TYPE.SYSZ_TLS_LDCALL
SYSZ_TLS_LDM32 = lief._lief.ELF.TYPE.SYSZ_TLS_LDM32
SYSZ_TLS_LDM64 = lief._lief.ELF.TYPE.SYSZ_TLS_LDM64
SYSZ_TLS_LDO32 = lief._lief.ELF.TYPE.SYSZ_TLS_LDO32
SYSZ_TLS_LDO64 = lief._lief.ELF.TYPE.SYSZ_TLS_LDO64
SYSZ_TLS_LE32 = lief._lief.ELF.TYPE.SYSZ_TLS_LE32
SYSZ_TLS_LE64 = lief._lief.ELF.TYPE.SYSZ_TLS_LE64
SYSZ_TLS_LOAD = lief._lief.ELF.TYPE.SYSZ_TLS_LOAD
SYSZ_TLS_TPOFF = lief._lief.ELF.TYPE.SYSZ_TLS_TPOFF
X86_16 = lief._lief.ELF.TYPE.X86_16
X86_32 = lief._lief.ELF.TYPE.X86_32
X86_32PLT = lief._lief.ELF.TYPE.X86_32PLT
X86_64_16 = lief._lief.ELF.TYPE.X86_64_16
X86_64_32 = lief._lief.ELF.TYPE.X86_64_32
X86_64_32S = lief._lief.ELF.TYPE.X86_64_32S
X86_64_64 = lief._lief.ELF.TYPE.X86_64_64
X86_64_8 = lief._lief.ELF.TYPE.X86_64_8
X86_64_COPY = lief._lief.ELF.TYPE.X86_64_COPY
X86_64_DTPMOD64 = lief._lief.ELF.TYPE.X86_64_DTPMOD64
X86_64_DTPOFF32 = lief._lief.ELF.TYPE.X86_64_DTPOFF32
X86_64_DTPOFF64 = lief._lief.ELF.TYPE.X86_64_DTPOFF64
X86_64_GLOB_DAT = lief._lief.ELF.TYPE.X86_64_GLOB_DAT
X86_64_GOT32 = lief._lief.ELF.TYPE.X86_64_GOT32
X86_64_GOT64 = lief._lief.ELF.TYPE.X86_64_GOT64
X86_64_GOTOFF64 = lief._lief.ELF.TYPE.X86_64_GOTOFF64
X86_64_GOTPC32 = lief._lief.ELF.TYPE.X86_64_GOTPC32
X86_64_GOTPC32_TLSDESC = lief._lief.ELF.TYPE.X86_64_GOTPC32_TLSDESC
X86_64_GOTPC64 = lief._lief.ELF.TYPE.X86_64_GOTPC64
X86_64_GOTPCREL = lief._lief.ELF.TYPE.X86_64_GOTPCREL
X86_64_GOTPCREL64 = lief._lief.ELF.TYPE.X86_64_GOTPCREL64
X86_64_GOTPCRELX = lief._lief.ELF.TYPE.X86_64_GOTPCRELX
X86_64_GOTPLT64 = lief._lief.ELF.TYPE.X86_64_GOTPLT64
X86_64_GOTTPOFF = lief._lief.ELF.TYPE.X86_64_GOTTPOFF
X86_64_IRELATIVE = lief._lief.ELF.TYPE.X86_64_IRELATIVE
X86_64_JUMP_SLOT = lief._lief.ELF.TYPE.X86_64_JUMP_SLOT
X86_64_NONE = lief._lief.ELF.TYPE.X86_64_NONE
X86_64_PC16 = lief._lief.ELF.TYPE.X86_64_PC16
X86_64_PC32 = lief._lief.ELF.TYPE.X86_64_PC32
X86_64_PC32_BND = lief._lief.ELF.TYPE.X86_64_PC32_BND
X86_64_PC64 = lief._lief.ELF.TYPE.X86_64_PC64
X86_64_PC8 = lief._lief.ELF.TYPE.X86_64_PC8
X86_64_PLT32 = lief._lief.ELF.TYPE.X86_64_PLT32
X86_64_PLT32_BND = lief._lief.ELF.TYPE.X86_64_PLT32_BND
X86_64_PLTOFF64 = lief._lief.ELF.TYPE.X86_64_PLTOFF64
X86_64_RELATIVE = lief._lief.ELF.TYPE.X86_64_RELATIVE
X86_64_RELATIVE64 = lief._lief.ELF.TYPE.X86_64_RELATIVE64
X86_64_REX_GOTPCRELX = lief._lief.ELF.TYPE.X86_64_REX_GOTPCRELX
X86_64_SIZE32 = lief._lief.ELF.TYPE.X86_64_SIZE32
X86_64_SIZE64 = lief._lief.ELF.TYPE.X86_64_SIZE64
X86_64_TLSDESC = lief._lief.ELF.TYPE.X86_64_TLSDESC
X86_64_TLSDESC_CALL = lief._lief.ELF.TYPE.X86_64_TLSDESC_CALL
X86_64_TLSGD = lief._lief.ELF.TYPE.X86_64_TLSGD
X86_64_TLSLD = lief._lief.ELF.TYPE.X86_64_TLSLD
X86_64_TPOFF32 = lief._lief.ELF.TYPE.X86_64_TPOFF32
X86_64_TPOFF64 = lief._lief.ELF.TYPE.X86_64_TPOFF64
X86_8 = lief._lief.ELF.TYPE.X86_8
X86_COPY = lief._lief.ELF.TYPE.X86_COPY
X86_GLOB_DAT = lief._lief.ELF.TYPE.X86_GLOB_DAT
X86_GOT32 = lief._lief.ELF.TYPE.X86_GOT32
X86_GOTOFF = lief._lief.ELF.TYPE.X86_GOTOFF
X86_GOTPC = lief._lief.ELF.TYPE.X86_GOTPC
X86_IRELATIVE = lief._lief.ELF.TYPE.X86_IRELATIVE
X86_JUMP_SLOT = lief._lief.ELF.TYPE.X86_JUMP_SLOT
X86_NONE = lief._lief.ELF.TYPE.X86_NONE
X86_PC16 = lief._lief.ELF.TYPE.X86_PC16
X86_PC32 = lief._lief.ELF.TYPE.X86_PC32
X86_PC8 = lief._lief.ELF.TYPE.X86_PC8
X86_PLT32 = lief._lief.ELF.TYPE.X86_PLT32
X86_RELATIVE = lief._lief.ELF.TYPE.X86_RELATIVE
X86_TLS_DESC = lief._lief.ELF.TYPE.X86_TLS_DESC
X86_TLS_DESC_CALL = lief._lief.ELF.TYPE.X86_TLS_DESC_CALL
X86_TLS_DTPMOD32 = lief._lief.ELF.TYPE.X86_TLS_DTPMOD32
X86_TLS_DTPOFF32 = lief._lief.ELF.TYPE.X86_TLS_DTPOFF32
X86_TLS_GD = lief._lief.ELF.TYPE.X86_TLS_GD
X86_TLS_GD_32 = lief._lief.ELF.TYPE.X86_TLS_GD_32
X86_TLS_GD_CALL = lief._lief.ELF.TYPE.X86_TLS_GD_CALL
X86_TLS_GD_POP = lief._lief.ELF.TYPE.X86_TLS_GD_POP
X86_TLS_GD_PUSH = lief._lief.ELF.TYPE.X86_TLS_GD_PUSH
X86_TLS_GOTDESC = lief._lief.ELF.TYPE.X86_TLS_GOTDESC
X86_TLS_GOTIE = lief._lief.ELF.TYPE.X86_TLS_GOTIE
X86_TLS_IE = lief._lief.ELF.TYPE.X86_TLS_IE
X86_TLS_IE_32 = lief._lief.ELF.TYPE.X86_TLS_IE_32
X86_TLS_LDM = lief._lief.ELF.TYPE.X86_TLS_LDM
X86_TLS_LDM_32 = lief._lief.ELF.TYPE.X86_TLS_LDM_32
X86_TLS_LDM_CALL = lief._lief.ELF.TYPE.X86_TLS_LDM_CALL
X86_TLS_LDM_POP = lief._lief.ELF.TYPE.X86_TLS_LDM_POP
X86_TLS_LDM_PUSH = lief._lief.ELF.TYPE.X86_TLS_LDM_PUSH
X86_TLS_LDO_32 = lief._lief.ELF.TYPE.X86_TLS_LDO_32
X86_TLS_LE = lief._lief.ELF.TYPE.X86_TLS_LE
X86_TLS_LE_32 = lief._lief.ELF.TYPE.X86_TLS_LE_32
X86_TLS_TPOFF = lief._lief.ELF.TYPE.X86_TLS_TPOFF
X86_TLS_TPOFF32 = lief._lief.ELF.TYPE.X86_TLS_TPOFF32
from_value(arg: int) lief.ELF.Relocation.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

property addend int

Additional value

property encoding lief.ELF.Relocation.ENCODING

The encoding of the relocation

property has_section bool

True if this relocation has a lief.ELF.Section associated with.

This is usually the case for object files (.o)

property has_symbol bool

True if a Symbol is associated with the relocation

property info int

Extra information like the symbol index

property is_android_packed bool

True if the relocation is using the Android packed relocation format

property is_rel bool

Check if the relocation uses the implicit addend (i.e. not present in the ELF structure)

property is_rela bool

True if the relocation uses the addend proprety

property is_relatively_encoded bool

True if the relocation is using the relative encoding

property purpose lief.ELF.Relocation.PURPOSE

Purpose of the relocation. This value provides the information about how the relocation is used (PLT/GOT resolution, .o file, …)

r_info(self, clazz: lief.ELF.Header.CLASS) int

(re)Compute the raw r_info attribute based on the given ELF class

property section lief.ELF.Section

Section in which the relocation is applied or None if not relevant

property symbol lief.ELF.Symbol

Symbol associated with the relocation or None if no symbol are associated with this relocation.

property symbol_table lief.ELF.Section

the symbol table Section which the relocation references

property type lief.ELF.Relocation.TYPE

Relocation type.


Symbol

class lief.ELF.Symbol(self)

Bases: Symbol

Class which represents an ELF symbol

class BINDING

Bases: object

GLOBAL = lief._lief.ELF.BINDING.GLOBAL
GNU_UNIQUE = lief._lief.ELF.BINDING.GNU_UNIQUE
LOCAL = lief._lief.ELF.BINDING.LOCAL
WEAK = lief._lief.ELF.BINDING.WEAK
from_value(arg: int) lief.ELF.Symbol.BINDING = <nanobind.nb_func object>
property value int

The underlying integer value

class TYPE

Bases: object

COMMON = lief._lief.ELF.TYPE.COMMON
FILE = lief._lief.ELF.TYPE.FILE
FUNC = lief._lief.ELF.TYPE.FUNC
GNU_IFUNC = lief._lief.ELF.TYPE.GNU_IFUNC
NOTYPE = lief._lief.ELF.TYPE.NOTYPE
OBJECT = lief._lief.ELF.TYPE.OBJECT
SECTION = lief._lief.ELF.TYPE.SECTION
TLS = lief._lief.ELF.TYPE.TLS
from_value(arg: int) lief.ELF.Symbol.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

class VISIBILITY

Bases: object

DEFAULT = lief._lief.ELF.VISIBILITY.DEFAULT
HIDDEN = lief._lief.ELF.VISIBILITY.HIDDEN
INTERNAL = lief._lief.ELF.VISIBILITY.INTERNAL
PROTECTED = lief._lief.ELF.VISIBILITY.PROTECTED
from_value(arg: int) lief.ELF.Symbol.VISIBILITY = <nanobind.nb_func object>
property value int

The underlying integer value

property binding lief.ELF.Symbol.BINDING

A symbol’s binding determines the linkage visibility and behavior.

property demangled_name str

Symbol’s name demangled or an empty string if the demangling is not possible/failed

property exported bool

Whether the symbol is exported

property has_version bool

Check if this symbols has a SymbolVersion

property imported bool

Whether the symbol is imported

property information int

This property specifies the symbol’s type and binding attributes

property is_function bool

True if the symbol is a function

property is_static bool

True if the symbol is a static visibility

property is_variable bool

True if the symbol is a variable

property other int

Alias for visibility

property section lief.ELF.Section

Return the section (Section) associated with this symbol if any. Otherwise, return None.

property shndx int

Section index associated with the symbol

property size int

Many symbols have associated sizes. For example, a data object’s size is the number of bytes contained in the object. This member holds 0 if the symbol has no size or an unknown size.

property symbol_version lief.ELF.SymbolVersion

Return the SymbolVersion associated with this symbol

It returns None if no version is tied to this symbol.

property type lief.ELF.Symbol.TYPE

The symbol’s type provides a general classification for the associated entity.

property value int

This member has different menaing depending on the symbol’s type and the type of the ELF file (library, object, …)

  • In relocatable files, this property contains the alignment constraints of the symbol for which the section index is SHN_COMMON.

  • In relocatable files, can also contain a section’s offset for a defined symbol. That is, value is an offset from the beginning of the section associated with this symbol.

  • In executable and libraries, this property contains a virtual address.

property visibility lief.ELF.Symbol.VISIBILITY

Symbol visibility. It’s basically an alias on other


Symbol Version

class lief.ELF.SymbolVersion(self)
class lief.ELF.SymbolVersion(self, arg: int, /)

Bases: Object

Overloaded function.

  1. __init__(self) -> None

Default constructor

  1. __init__(self, arg: int, /) -> None

Constructor from value

global_ = <lief._lief.ELF.SymbolVersion object>
property has_auxiliary_version bool

Check if this symbols has a SymbolVersionAux

local = <lief._lief.ELF.SymbolVersion object>
property symbol_version_auxiliary lief.ELF.SymbolVersionAux

Return the SymbolVersionAux associated with this version or None if not present.

The value can be changed by assigning a SymbolVersionAuxRequirement which must already exist in the SymbolVersionRequirement. Once can use add_aux_requirement() to add a new SymbolVersionAuxRequirement.

property value int

Value associated with the symbol.

If the given SymbolVersion hasn’t Auxiliary version:

  • 0 : The symbol is local

  • 1 : The symbol is global

All other values are used for versions in the own object or in any of the dependencies. This is the version the symbol is tight to.


Symbol Version Auxiliary

Inheritance diagram of lief._lief.ELF.SymbolVersionAuxRequirement, lief._lief.ELF.SymbolVersionAux
class lief.ELF.SymbolVersionAux

Bases: Object

Class which represents an Auxiliary Symbol version

property name str | bytes

Symbol’s name (e.g. GLIBC_2.2.5)


Symbol Version Definition

class lief.ELF.SymbolVersionDefinition

Bases: Object

Class which represents an entry defined in DT_VERDEF or .gnu.version_d

property auxiliary_symbols lief.ELF.SymbolVersionDefinition.it_version_aux
property flags int

Version information

property hash int

Hash value of the symbol’s name (using ELF hash function)

class it_version_aux

Bases: object

Iterator over lief._lief.ELF.SymbolVersionAux

property ndx int

Numeric value used as an index in the :class`~.ELF.SymbolVersion` table

property version int

Version revision. Should be 1

This field should always have the value 1. It will be changed if the versioning implementation has to be changed in an incompatible way.


Symbol Version Requirement

class lief.ELF.SymbolVersionRequirement

Bases: Object

Class which represents an entry in the DT_VERNEED or .gnu.version_r table

add_auxiliary_requirement(self, arg: lief.ELF.SymbolVersionAuxRequirement) lief.ELF.SymbolVersionAuxRequirement

Add an auxiliary version requirement to the existing entries

get_auxiliary_symbols(self) lief.ELF.SymbolVersionRequirement.it_aux_requirement

Auxiliary entries (iterator over SymbolVersionAuxRequirement)

class it_aux_requirement

Bases: object

Iterator over lief._lief.ELF.SymbolVersionAuxRequirement

property name str

Library’s name associated with this requirement (e.g. libc.so.6)

property version int

Version revision. Should be 1


Symbol Version Auxiliary Requirement

class lief.ELF.SymbolVersionAuxRequirement(self)

Bases: SymbolVersionAux

Default constructor

property flags int

Bitmask of flags

property hash int

Hash value of the dependency name (use ELF hashing function)

property other int

It returns the unique version index for the file which is used in the version symbol table. If the highest bit (bit 15) is set this is a hidden symbol which cannot be referenced from outside the object.


GNU Hash table

class lief.ELF.GnuHash(self)

Bases: Object

Class which provides a view over the GNU Hash implementation. Most of the fields are read-only since the values are re-computed by the lief.ELF.Builder.

property bloom_filters list[int]

Bloom filters

property buckets list[int]

hash buckets

check(*args) bool

Overloaded function.

  1. check(self, symbol_name: str) -> bool

Check if the symbol probably exists. If the returned value is false you can assume at 100% that the symbol with the given name doesn’t exists. If true you can’t do any assumption

  1. check(self, hash_value: int) -> bool

Check if the symbol associated with the given probably exists. If the returned value is false you can assume at 100% that the symbol doesn’t exists. If true you can’t do any assumption

check_bloom_filter(self, hash: int) bool

Check if the given hash pass the bloom filter

check_bucket(self, hash: int) bool

Check if the given hash pass the bucket filter

property hash_values list[int]

Hash values

property nb_buckets int

Return the number of buckets

property shift2 int

Shift count used in the bloom filter

property symbol_index int

Index of the first symbol in the dynamic symbols table which is accessible with the hash table


SYSV Hash table

class lief.ELF.SysvHash(self)

Bases: Object

Class which represents the SYSV hash for the symbols resolution

References:

property buckets list[int]

Buckets values

property chains list[int]

Chains values

property nbucket int

Return the number of buckets

property nchain int

Return the number of chains (symbol table index)


Note

Inheritance diagram of lief._lief.ELF.Note, lief._lief.ELF.AndroidIdent, lief._lief.ELF.CorePrPsInfo, lief._lief.ELF.CoreAuxv, lief._lief.ELF.NoteAbi, lief._lief.ELF.CoreFile, lief._lief.ELF.CorePrStatus, lief._lief.ELF.NoteGnuProperty, lief._lief.ELF.CoreSigInfo, lief._lief.ELF.QNXStack
class lief.ELF.Note

Bases: Object

Class which represents an ELF note.

class TYPE

Bases: object

ANDROID_IDENT = lief._lief.ELF.TYPE.ANDROID_IDENT
ANDROID_KUSER = lief._lief.ELF.TYPE.ANDROID_KUSER
ANDROID_MEMTAG = lief._lief.ELF.TYPE.ANDROID_MEMTAG
CORE_ARM_HW_BREAK = lief._lief.ELF.TYPE.CORE_ARM_HW_BREAK
CORE_ARM_HW_WATCH = lief._lief.ELF.TYPE.CORE_ARM_HW_WATCH
CORE_ARM_PACA_KEYS = lief._lief.ELF.TYPE.CORE_ARM_PACA_KEYS
CORE_ARM_PACG_KEYS = lief._lief.ELF.TYPE.CORE_ARM_PACG_KEYS
CORE_ARM_PAC_MASK = lief._lief.ELF.TYPE.CORE_ARM_PAC_MASK
CORE_ARM_SVE = lief._lief.ELF.TYPE.CORE_ARM_SVE
CORE_ARM_SYSTEM_CALL = lief._lief.ELF.TYPE.CORE_ARM_SYSTEM_CALL
CORE_ARM_TLS = lief._lief.ELF.TYPE.CORE_ARM_TLS
CORE_ARM_VFP = lief._lief.ELF.TYPE.CORE_ARM_VFP
CORE_AUXV = lief._lief.ELF.TYPE.CORE_AUXV
CORE_FILE = lief._lief.ELF.TYPE.CORE_FILE
CORE_FPREGS = lief._lief.ELF.TYPE.CORE_FPREGS
CORE_FPREGSET = lief._lief.ELF.TYPE.CORE_FPREGSET
CORE_LWPSINFO = lief._lief.ELF.TYPE.CORE_LWPSINFO
CORE_LWPSTATUS = lief._lief.ELF.TYPE.CORE_LWPSTATUS
CORE_PAC_ENABLED_KEYS = lief._lief.ELF.TYPE.CORE_PAC_ENABLED_KEYS
CORE_PRPSINFO = lief._lief.ELF.TYPE.CORE_PRPSINFO
CORE_PRSTATUS = lief._lief.ELF.TYPE.CORE_PRSTATUS
CORE_PRXFPREG = lief._lief.ELF.TYPE.CORE_PRXFPREG
CORE_PSINFO = lief._lief.ELF.TYPE.CORE_PSINFO
CORE_PSTATUS = lief._lief.ELF.TYPE.CORE_PSTATUS
CORE_SIGINFO = lief._lief.ELF.TYPE.CORE_SIGINFO
CORE_TAGGED_ADDR_CTRL = lief._lief.ELF.TYPE.CORE_TAGGED_ADDR_CTRL
CORE_TASKSTRUCT = lief._lief.ELF.TYPE.CORE_TASKSTRUCT
CORE_WIN32PSTATUS = lief._lief.ELF.TYPE.CORE_WIN32PSTATUS
CORE_X86_CET = lief._lief.ELF.TYPE.CORE_X86_CET
CORE_X86_IOPERM = lief._lief.ELF.TYPE.CORE_X86_IOPERM
CORE_X86_TLS = lief._lief.ELF.TYPE.CORE_X86_TLS
CORE_X86_XSTATE = lief._lief.ELF.TYPE.CORE_X86_XSTATE
CRASHPAD = lief._lief.ELF.TYPE.CRASHPAD
GNU_ABI_TAG = lief._lief.ELF.TYPE.GNU_ABI_TAG
GNU_BUILD_ATTRIBUTE_FUNC = lief._lief.ELF.TYPE.GNU_BUILD_ATTRIBUTE_FUNC
GNU_BUILD_ATTRIBUTE_OPEN = lief._lief.ELF.TYPE.GNU_BUILD_ATTRIBUTE_OPEN
GNU_BUILD_ID = lief._lief.ELF.TYPE.GNU_BUILD_ID
GNU_GOLD_VERSION = lief._lief.ELF.TYPE.GNU_GOLD_VERSION
GNU_HWCAP = lief._lief.ELF.TYPE.GNU_HWCAP
GNU_PROPERTY_TYPE_0 = lief._lief.ELF.TYPE.GNU_PROPERTY_TYPE_0
GO_BUILDID = lief._lief.ELF.TYPE.GO_BUILDID
QNX_STACK = lief._lief.ELF.TYPE.QNX_STACK
STAPSDT = lief._lief.ELF.TYPE.STAPSDT
UNKNOWN = lief._lief.ELF.TYPE.UNKNOWN
from_value(arg: int) lief.ELF.Note.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

copy(self) lief.ELF.Note | None

Duplicate the current instance of this object

create(*args) lief.ELF.Note | None = <nanobind.nb_func object>
property description memoryview

Return the description associated with the note

property name str

Return the name of the note also known as the owner.

property original_type int

Return the original NT_ value of the note.

This value should be interpreted according the the name of the note.

property size int

Size of the raw note

property type lief.ELF.Note.TYPE

Return the LIEF type representation of the note.


Core PrPsInfo

Inheritance diagram of lief._lief.ELF.CorePrPsInfo
class lief.ELF.CorePrPsInfo

Bases: Note

property info lief.ELF.CorePrPsInfo.info_t | None
class info_t

Bases: object

property args str
property args_stripped str
property filename str
property filename_stripped str
property flag int
property gid int
property nice int
property pgrp int
property pid int
property ppid int
property sid int
property sname str
property state int
property uid int
property zombie bool

Core PrStatus

Inheritance diagram of lief._lief.ELF.CorePrStatus
class lief.ELF.CorePrStatus

Bases: Note

class Registers

Bases: object

class AARCH64

Bases: object

PC = lief._lief.ELF.AARCH64.PC
PSTATE = lief._lief.ELF.AARCH64.PSTATE
X0 = lief._lief.ELF.AARCH64.X0
X1 = lief._lief.ELF.AARCH64.X1
X10 = lief._lief.ELF.AARCH64.X10
X11 = lief._lief.ELF.AARCH64.X11
X12 = lief._lief.ELF.AARCH64.X12
X13 = lief._lief.ELF.AARCH64.X13
X14 = lief._lief.ELF.AARCH64.X14
X15 = lief._lief.ELF.AARCH64.X15
X16 = lief._lief.ELF.AARCH64.X16
X17 = lief._lief.ELF.AARCH64.X17
X18 = lief._lief.ELF.AARCH64.X18
X19 = lief._lief.ELF.AARCH64.X19
X2 = lief._lief.ELF.AARCH64.X2
X20 = lief._lief.ELF.AARCH64.X20
X21 = lief._lief.ELF.AARCH64.X21
X22 = lief._lief.ELF.AARCH64.X22
X23 = lief._lief.ELF.AARCH64.X23
X24 = lief._lief.ELF.AARCH64.X24
X25 = lief._lief.ELF.AARCH64.X25
X26 = lief._lief.ELF.AARCH64.X26
X27 = lief._lief.ELF.AARCH64.X27
X28 = lief._lief.ELF.AARCH64.X28
X29 = lief._lief.ELF.AARCH64.X29
X3 = lief._lief.ELF.AARCH64.X3
X30 = lief._lief.ELF.AARCH64.X30
X31 = lief._lief.ELF.AARCH64.X31
X4 = lief._lief.ELF.AARCH64.X4
X5 = lief._lief.ELF.AARCH64.X5
X6 = lief._lief.ELF.AARCH64.X6
X7 = lief._lief.ELF.AARCH64.X7
X8 = lief._lief.ELF.AARCH64.X8
X9 = lief._lief.ELF.AARCH64.X9
from_value(arg: int) lief.ELF.CorePrStatus.Registers.AARCH64 = <nanobind.nb_func object>
property value int

The underlying integer value

class ARM

Bases: object

CPSR = lief._lief.ELF.ARM.CPSR
R0 = lief._lief.ELF.ARM.R0
R1 = lief._lief.ELF.ARM.R1
R10 = lief._lief.ELF.ARM.R10
R11 = lief._lief.ELF.ARM.R11
R12 = lief._lief.ELF.ARM.R12
R13 = lief._lief.ELF.ARM.R13
R14 = lief._lief.ELF.ARM.R14
R15 = lief._lief.ELF.ARM.R15
R2 = lief._lief.ELF.ARM.R2
R3 = lief._lief.ELF.ARM.R3
R4 = lief._lief.ELF.ARM.R4
R5 = lief._lief.ELF.ARM.R5
R6 = lief._lief.ELF.ARM.R6
R7 = lief._lief.ELF.ARM.R7
R8 = lief._lief.ELF.ARM.R8
R9 = lief._lief.ELF.ARM.R9
from_value(arg: int) lief.ELF.CorePrStatus.Registers.ARM = <nanobind.nb_func object>
property value int

The underlying integer value

class X86

Bases: object

CS = lief._lief.ELF.X86.CS
DS = lief._lief.ELF.X86.DS
EAX = lief._lief.ELF.X86.EAX
EBP = lief._lief.ELF.X86.EBP
EBX = lief._lief.ELF.X86.EBX
ECX = lief._lief.ELF.X86.ECX
EDI = lief._lief.ELF.X86.EDI
EDX = lief._lief.ELF.X86.EDX
EFLAGS = lief._lief.ELF.X86.EFLAGS
EIP = lief._lief.ELF.X86.EIP
ES = lief._lief.ELF.X86.ES
ESI = lief._lief.ELF.X86.ESI
ESP = lief._lief.ELF.X86.ESP
FS = lief._lief.ELF.X86.FS
GS = lief._lief.ELF.X86.GS
ORIG_EAX = lief._lief.ELF.X86.ORIG_EAX
SS = lief._lief.ELF.X86.SS
from_value(arg: int) lief.ELF.CorePrStatus.Registers.X86 = <nanobind.nb_func object>
property value int

The underlying integer value

class X86_64

Bases: object

CS = lief._lief.ELF.X86_64.CS
EFLAGS = lief._lief.ELF.X86_64.EFLAGS
ORIG_RAX = lief._lief.ELF.X86_64.ORIG_RAX
R10 = lief._lief.ELF.X86_64.R10
R11 = lief._lief.ELF.X86_64.R11
R12 = lief._lief.ELF.X86_64.R12
R13 = lief._lief.ELF.X86_64.R13
R14 = lief._lief.ELF.X86_64.R14
R15 = lief._lief.ELF.X86_64.R15
R8 = lief._lief.ELF.X86_64.R8
R9 = lief._lief.ELF.X86_64.R9
RAX = lief._lief.ELF.X86_64.RAX
RBP = lief._lief.ELF.X86_64.RBP
RBX = lief._lief.ELF.X86_64.RBX
RCX = lief._lief.ELF.X86_64.RCX
RDI = lief._lief.ELF.X86_64.RDI
RDX = lief._lief.ELF.X86_64.RDX
RIP = lief._lief.ELF.X86_64.RIP
RSI = lief._lief.ELF.X86_64.RSI
RSP = lief._lief.ELF.X86_64.RSP
SS = lief._lief.ELF.X86_64.SS
from_value(arg: int) lief.ELF.CorePrStatus.Registers.X86_64 = <nanobind.nb_func object>
property value int

The underlying integer value

property architecture lief.ELF.ARCH

Original target architecture.

get(*args) int | None

Overloaded function.

  1. get(self, reg: lief._lief.ELF.CorePrStatus.Registers.X86) -> Optional[int]

Get the register value or non if it is not present

  1. get(self, reg: lief._lief.ELF.CorePrStatus.Registers.X86_64) -> Optional[int]

Get the register value or non if it is not present

  1. get(self, reg: lief._lief.ELF.CorePrStatus.Registers.ARM) -> Optional[int]

Get the register value or non if it is not present

  1. get(self, reg: lief._lief.ELF.CorePrStatus.Registers.AARCH64) -> Optional[int]

Get the register value or non if it is not present

property pc int | None

Return the program counter value (rip, pc, eip etc)

class pr_status_t

Bases: object

property cstime lief.ELF.CorePrStatus.timeval_t
property cursig int
property cutime lief.ELF.CorePrStatus.timeval_t
property info lief.ELF.CorePrStatus.siginfo_t
property pgrp int
property pid int
property ppid int
property reserved int
property sid int
property sighold int
property sigpend int
property stime lief.ELF.CorePrStatus.timeval_t
property utime lief.ELF.CorePrStatus.timeval_t
property register_values list[int]

List of the register values. This list is guarantee to be as long as the number of registers defined in the Registers or empty if it can’t be resolved.

Thus, one can access a specific register through:

reg_vals: list[int] = note.register_values()
x20 = reg_vals[CorePrStatus.Registesr.AARCH64.X20.value]
property return_value int | None

The value of the register that holds the return value according to the calling convention.

set(*args) lief.ok_error_t

Overloaded function.

  1. set(self, reg: lief._lief.ELF.CorePrStatus.Registers.X86, value: int) -> lief._lief.ok_error_t

Change the register value

  1. set(self, reg: lief._lief.ELF.CorePrStatus.Registers.X86_64, value: int) -> lief._lief.ok_error_t

Change the register value

  1. set(self, reg: lief._lief.ELF.CorePrStatus.Registers.ARM, value: int) -> lief._lief.ok_error_t

Change the register value

  1. set(self, reg: lief._lief.ELF.CorePrStatus.Registers.AARCH64, value: int) -> lief._lief.ok_error_t

Change the register value

class siginfo_t

Bases: object

property errno int
property sicode int
property signo int
property sp int | None

Return the stack pointer value

property status lief.ELF.CorePrStatus.pr_status_t

Info associated with the signal

class timeval_t

Bases: object

property sec int
property usec int

Core File

Inheritance diagram of lief._lief.ELF.CoreFile
class lief.ELF.CoreFile

Bases: Note

class entry_t

Bases: object

property end int

End address of mapped file

property file_ofs int

Offset (in core) of mapped file

property path str

Path of mapped file

property start int

Start address of mapped file

property files lief.ELF.CoreFile.files_t

List of files mapped in core. (list of CoreFileEntry)

class files_t(self)
class files_t(self, arg: lief._lief.ELF.CoreFile.files_t)
class files_t(self, arg: Iterable[lief._lief.ELF.CoreFile.entry_t], /)

Bases: object

Overloaded function.

  1. __init__(self) -> None

Default constructor

  1. __init__(self, arg: lief._lief.ELF.CoreFile.files_t) -> None

Copy constructor

  1. __init__(self, arg: Iterable[lief._lief.ELF.CoreFile.entry_t], /) -> None

Construct from an iterable object

append(self, arg: lief.ELF.CoreFile.entry_t) None

Append arg to the end of the list.

clear(self) None

Remove all items from list.

extend(self, arg: lief.ELF.CoreFile.files_t) None

Extend self by appending elements from arg.

insert(self, arg0: int, arg1: lief.ELF.CoreFile.entry_t) None

Insert object arg1 before index arg0.

pop(self, index: int) lief.ELF.CoreFile.entry_t

Remove and return item at index (default last).


Core Siginfo

Inheritance diagram of lief._lief.ELF.CoreSigInfo
class lief.ELF.CoreSigInfo

Bases: Note

property sigcode int | None

Signal code

property sigerrno int | None

If non-zero, an errno value associated with this signal

property signo int | None

Signal number


Core Auxiliary Vector

Inheritance diagram of lief._lief.ELF.CoreAuxv
class lief.ELF.CoreAuxv

Bases: Note

class TYPE

Bases: object

BASE = lief._lief.ELF.TYPE.BASE
BASE_PLATFORM = lief._lief.ELF.TYPE.BASE_PLATFORM
CLKTCK = lief._lief.ELF.TYPE.CLKTCK
DCACHEBSIZE = lief._lief.ELF.TYPE.DCACHEBSIZE
EGID = lief._lief.ELF.TYPE.EGID
END = lief._lief.ELF.TYPE.END
ENTRY = lief._lief.ELF.TYPE.ENTRY
EUID = lief._lief.ELF.TYPE.EUID
EXECFD = lief._lief.ELF.TYPE.EXECFD
EXECFN = lief._lief.ELF.TYPE.EXECFN
FLAGS = lief._lief.ELF.TYPE.FLAGS
FPUCW = lief._lief.ELF.TYPE.FPUCW
GID = lief._lief.ELF.TYPE.GID
HWCAP = lief._lief.ELF.TYPE.HWCAP
HWCAP2 = lief._lief.ELF.TYPE.HWCAP2
ICACHEBSIZE = lief._lief.ELF.TYPE.ICACHEBSIZE
IGNORE = lief._lief.ELF.TYPE.IGNORE
IGNOREPPC = lief._lief.ELF.TYPE.IGNOREPPC
NOTELF = lief._lief.ELF.TYPE.NOTELF
PAGESZ = lief._lief.ELF.TYPE.PAGESZ
PHDR = lief._lief.ELF.TYPE.PHDR
PHENT = lief._lief.ELF.TYPE.PHENT
PHNUM = lief._lief.ELF.TYPE.PHNUM
RANDOM = lief._lief.ELF.TYPE.RANDOM
SECURE = lief._lief.ELF.TYPE.SECURE
SYSINFO = lief._lief.ELF.TYPE.SYSINFO
SYSINFO_EHDR = lief._lief.ELF.TYPE.SYSINFO_EHDR
TGT_PLATFORM = lief._lief.ELF.TYPE.TGT_PLATFORM
UCACHEBSIZE = lief._lief.ELF.TYPE.UCACHEBSIZE
UID = lief._lief.ELF.TYPE.UID
from_value(arg: int) lief.ELF.CoreAuxv.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

get(self, type: lief.ELF.CoreAuxv.TYPE) int | None

Get the auxv value from the provided type. Return None if it is not present.

set(*args) bool

Overloaded function.

  1. set(self, type: lief._lief.ELF.CoreAuxv.TYPE, value: int) -> bool

    Change the value for the given type.

  2. set(self, arg: dict[lief._lief.ELF.CoreAuxv.TYPE, int], /) -> bool

    Replace all the values by the given dictionary.

property values dict[lief.ELF.CoreAuxv.TYPE, int]

Return the auxiliary vector as a dictionary of TYPE / int


Android Ident

Inheritance diagram of lief._lief.ELF.AndroidIdent
class lief.ELF.AndroidIdent

Bases: Note

property ndk_build_number str

Android NDK build number

property ndk_version str

Android NDK version used to build the current binary

property sdk_version int

Target SDK platform


QNX Stack

Inheritance diagram of lief._lief.ELF.QNXStack
class lief.ELF.QNXStack

Bases: Note

property is_executable bool

Whether the stack is executable

property stack_allocated int

Size of the stack pre-allocated (upfront)

property stack_size int

Size of the stack


Note ABI

Inheritance diagram of lief._lief.ELF.NoteAbi
class lief.ELF.NoteAbi

Bases: Note

Class that wraps the NT_GNU_ABI_TAG note

class ABI

Bases: object

FREEBSD = lief._lief.ELF.ABI.FREEBSD
GNU = lief._lief.ELF.ABI.GNU
LINUX = lief._lief.ELF.ABI.LINUX
NACL = lief._lief.ELF.ABI.NACL
NETBSD = lief._lief.ELF.ABI.NETBSD
SOLARIS2 = lief._lief.ELF.ABI.SOLARIS2
SYLLABLE = lief._lief.ELF.ABI.SYLLABLE
from_value(arg: int) lief.ELF.NoteAbi.ABI = <nanobind.nb_func object>
property value int

The underlying integer value

property abi lief.ELF.NoteAbi.ABI | None

Return the target ABI

property version list[int] | None

Return the target version as (Major, Minor, Patch)


Note Gnu Property

Inheritance diagram of lief._lief.ELF.NoteGnuProperty
Inheritance diagram of lief._lief.ELF.X86ISA, lief._lief.ELF.Generic, lief._lief.ELF.NoteNoCopyOnProtected, lief._lief.ELF.StackSize, lief._lief.ELF.AArch64Feature, lief._lief.ELF.X86Features
class lief.ELF.NoteGnuProperty

Bases: Note

This object represents the NT_GNU_PROPERTY_TYPE_0 note.

class Property

Bases: object

This class wraps the different properties that can be used in a NT_GNU_PROPERTY_TYPE_0 note

class TYPE

Bases: object

AARCH64_FEATURES = lief._lief.ELF.TYPE.AARCH64_FEATURES
GENERIC = lief._lief.ELF.TYPE.GENERIC
NEEDED = lief._lief.ELF.TYPE.NEEDED
NO_COPY_ON_PROTECTED = lief._lief.ELF.TYPE.NO_COPY_ON_PROTECTED
STACK_SIZE = lief._lief.ELF.TYPE.STACK_SIZE
UNKNOWN = lief._lief.ELF.TYPE.UNKNOWN
X86_FEATURE = lief._lief.ELF.TYPE.X86_FEATURE
X86_ISA = lief._lief.ELF.TYPE.X86_ISA
from_value(arg: int) lief.ELF.NoteGnuProperty.Property.TYPE = <nanobind.nb_func object>
property value int

The underlying integer value

property type lief.ELF.NoteGnuProperty.Property.TYPE
find(self, arg: lief.ELF.NoteGnuProperty.Property.TYPE) lief.ELF.NoteGnuProperty.Property | None

Find the property with the given type or return None

property properties list[lief.ELF.NoteGnuProperty.Property | None]

Return the properties as a list of Property


Generic

Inheritance diagram of lief._lief.ELF.Generic
class lief.ELF.Generic

Bases: Property

This class represents a property which doesn’t have a concrete LIEF implementation.

property raw_type int

The original raw type as an integer. This value might depends on the architecture and/or the file type.


AArch64 Feature

Inheritance diagram of lief._lief.ELF.AArch64Feature
class lief.ELF.AArch64Feature

Bases: Property

This class represents the GNU_PROPERTY_AARCH64_FEATURE_1_AND note.

class FEATURE

Bases: object

BTI = lief._lief.ELF.FEATURE.BTI
PAC = lief._lief.ELF.FEATURE.PAC
UNKNOWN = lief._lief.ELF.FEATURE.UNKNOWN
from_value(arg: int) lief.ELF.AArch64Feature.FEATURE = <nanobind.nb_func object>
property value int

The underlying integer value

property features list[lief.ELF.AArch64Feature.FEATURE]

Return the list of the supported features.


No Copy on Protected

Inheritance diagram of lief._lief.ELF.NoteNoCopyOnProtected
class lief.ELF.NoteNoCopyOnProtected

Bases: Property

This class provides an interface over the GNU_PROPERTY_NO_COPY_ON_PROTECTED property. This property indicates that the linker shouldn’t copy relocations against protected symbols.


Stack Size

Inheritance diagram of lief._lief.ELF.StackSize
class lief.ELF.StackSize

Bases: Property

This class provides an interface over the GNU_PROPERTY_STACK_SIZE property This property can be used by the loader to raise the stack limit.

property stack_size int

X86 Feature

Inheritance diagram of lief._lief.ELF.X86Features
class lief.ELF.X86Features

Bases: Property

This class interfaces the different GNU_PROPERTY_X86_FEATURE_* properties which includes:

  • GNU_PROPERTY_X86_FEATURE_1_AND

  • GNU_PROPERTY_X86_FEATURE_2_USED

  • GNU_PROPERTY_X86_FEATURE_2_NEEDED

class FEATURE

Bases: object

FXSR = lief._lief.ELF.FEATURE.FXSR
IBT = lief._lief.ELF.FEATURE.IBT
LAM_U48 = lief._lief.ELF.FEATURE.LAM_U48
LAM_U57 = lief._lief.ELF.FEATURE.LAM_U57
MASK = lief._lief.ELF.FEATURE.MASK
MMX = lief._lief.ELF.FEATURE.MMX
SHSTK = lief._lief.ELF.FEATURE.SHSTK
TMM = lief._lief.ELF.FEATURE.TMM
UNKNOWN = lief._lief.ELF.FEATURE.UNKNOWN
X86 = lief._lief.ELF.FEATURE.X86
X87 = lief._lief.ELF.FEATURE.X87
XMM = lief._lief.ELF.FEATURE.XMM
XSAVE = lief._lief.ELF.FEATURE.XSAVE
XSAVEC