4
0
mirror of https://github.com/QuasarApp/LIEF.git synced 2025-05-01 14:49:35 +00:00
Romain Thomas a40da3e3b4 Enable to export and create dynamic symbols
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 
2018-02-28 16:18:33 +01:00

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: