mirror of
https://github.com/QuasarApp/LIEF.git
synced 2025-05-01 14:49:35 +00:00
New API: * Binary::{has_dynamic_symbol, has_static_symbol} * Binary::{get_dynamic_symbol, get_static_symbol} * Binary::add_exported_function * Binary::export_symbol * Symbol::visibility * SymbolVersion::local / SymbolVersion::global Resolve #112
549 lines
6.8 KiB
ReStructuredText
549 lines
6.8 KiB
ReStructuredText
ELF
|
|
---
|
|
|
|
Parser
|
|
*******
|
|
|
|
.. autofunction:: lief.ELF.parse
|
|
|
|
----------
|
|
|
|
.. _python-elf-binary-api-ref:
|
|
|
|
Binary
|
|
******
|
|
|
|
.. autoclass:: lief.ELF.Binary
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Header
|
|
******
|
|
|
|
.. autoclass:: lief.ELF.Header
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Section
|
|
*******
|
|
|
|
.. autoclass:: lief.ELF.Section
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Segment
|
|
*******
|
|
|
|
.. autoclass:: lief.ELF.Segment
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry
|
|
*************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntry
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry Library
|
|
*********************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntryLibrary
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Shared Object
|
|
*********************
|
|
|
|
.. autoclass:: lief.ELF.DynamicSharedObject
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry Run Path
|
|
**********************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntryRunPath
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry RPath
|
|
*******************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntryRpath
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry Array
|
|
*******************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntryArray
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic Entry Flags
|
|
*******************
|
|
|
|
.. autoclass:: lief.ELF.DynamicEntryFlags
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
|
|
----------
|
|
|
|
Relocations
|
|
***********
|
|
|
|
.. autoclass:: lief.ELF.Relocation
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Symbol
|
|
******
|
|
|
|
.. autoclass:: lief.ELF.Symbol
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Symbol Version
|
|
**************
|
|
|
|
.. autoclass:: lief.ELF.SymbolVersion
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Symbol Version Definition
|
|
*************************
|
|
|
|
.. autoclass:: lief.ELF.SymbolVersionDefinition
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Symbol Version Requirement
|
|
**************************
|
|
|
|
.. autoclass:: lief.ELF.SymbolVersionRequirement
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
GNU Hash table
|
|
**************
|
|
|
|
.. autoclass:: lief.ELF.GnuHash
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
SYSV Hash table
|
|
***************
|
|
|
|
.. autoclass:: lief.ELF.SysvHash
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Note
|
|
****
|
|
|
|
.. autoclass:: lief.ELF.Note
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Android Note
|
|
*************
|
|
|
|
.. autoclass:: lief.ELF.AndroidNote
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Builder
|
|
*******
|
|
|
|
.. autoclass:: lief.ELF.Builder
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
|
|
Enums
|
|
*****
|
|
|
|
Identity
|
|
~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.IDENTITY
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
ELF Class
|
|
~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.ELF_CLASS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
ELF Data
|
|
~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.ELF_DATA
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
ELF OS/ABI
|
|
~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.OS_ABI
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Symbol section index
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SYMBOL_SECTION_INDEX
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Binary types
|
|
~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.E_TYPE
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Section types
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SECTION_TYPES
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Section flags
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SECTION_FLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Segment types
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SEGMENT_TYPES
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Segment flags
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SEGMENT_FLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Architectures
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.ARCH
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Version
|
|
~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.VERSION
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic tags
|
|
~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.DYNAMIC_TAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Dynamic flags
|
|
~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.DYNAMIC_FLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Dynamic flags 1
|
|
~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.DYNAMIC_FLAGS_1
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Symbol types
|
|
~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SYMBOL_TYPES
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Symbol bindings
|
|
~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SYMBOL_BINDINGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Symbol Visibility
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.SYMBOL_VISIBILITY
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Relocations x86-64
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.RELOCATION_X86_64
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Relocations x86 (i386)
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.RELOCATION_i386
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Relocations ARM
|
|
~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.RELOCATION_ARM
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Relocations AARCH64
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.RELOCATION_AARCH64
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Dynamic symbols counting
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.DYNSYM_COUNT_METHODS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
Relocation purpose
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.RELOCATION_PURPOSES
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Note types
|
|
~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.NOTE_TYPES
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Note ABIs
|
|
~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.NOTE_ABIS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
ARM Processor flags
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.ARM_EFLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
MIPS Processor flags
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.MIPS_EFLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
PPC64 Processor flags
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.PPC64_EFLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
----------
|
|
|
|
|
|
Hexagon Processor flags
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
.. autoclass:: lief.ELF.HEXAGON_EFLAGS
|
|
:members:
|
|
:inherited-members:
|
|
:undoc-members:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|