Skip to content

Sauci/pyelf

Repository files navigation

tests status code coverage

package description

the purpose of this package is to provide high level API to work with elf files.

installation

using pip

install the package by running the following command: pip install sauci-pyelf

from source

this package uses pyelftools package. if it is not already installed, install it first. once the above prerequisite is installed:

  • download the pyelf package
  • unzip it
  • move to the directory containing the setup.py file
  • run the command python setup.py install

note: the above command might require privileged access to succeed.

example of usage

the bellow code snippet shows how to load an elf file and get some of its properties.

from pyelf import ElfFile

elf = ElfFile('tests/input.elf')

# get a list of all symbols in file tests/input.elf.
symbols = elf.symbols()
assert 'symbol_uint8' in symbols

# get an instance of Symbol class for symbol named symbol_uint8.
symbol = elf.get_symbol('symbol_uint8')

# get address of symbol symbol_uint8.
assert isinstance(symbol.address, int)

# get size of symbol symbol_uint8.
assert symbol.size == 1