Skip to main content

A tool to visualize and check where ELF sections are located in different types of binaries

Project description

GTD ELF Checker

This repository contains GTD ELF checker, a tool to visualize and check where ELF sections are located in different types of binaries (ELF files, stripped ELF files, binary files).

[!WARNING]

WARNING:

This tool is currently under development and in beta state It's not intended to be complete and using is on your own risk.

License

The GTD ELF Checker source code implemented by GTD GmbH is subject to the Mozilla Public License 2.0 as indicated by the headers of the corresponding source code files. Third party libraries used herein are subject to their own licence terms.

Installation from PyPI

The ELF checker is published on PyPI and the latest release can be easily installed with pipx. If you're not using pipx yet, install it from your package manager. The package is usually called pipx or python-pipx.

Then install the ELF checker:

pipx install elf-checker

Development

System Dependencies

On Debian based systems, install the necessary packages from APT:

sudo apt-get update
sudo apt-get install python3 python3-poetry pandoc texlive-xetex

On Arch Linux, use pacman to install the necessary packages:

sudo pacman -Sy python python-poetry pandoc texlive-bin

The pandoc and latex packages are only required to generate the documentation in PDF format.

Setting up a virtual environment

After cloning the repository, create and activate the Python virtualenv with the following commands:

poetry install

Installing and updating Python dependencies

All explicit dependencies are listed in pyproject.toml. Exact versions and dependencies of your dependencies are in poetry.lock.

To install the packages into a virtualenv use:

poetry install

Adding or removing packages is done through the poetry add command or by editing the pyproject.toml file. Then use poetry lock.

Updating all existing dependencies can be done by using poetry update.

Then commit changes to all requirements files as usual.

Commit hooks

This project uses git pre-commit hooks to ensure that no obvious errors are committed to the repository. To make use of the pre-commit hooks, you have to use Python 3.6 or newer on your development machine.

Install the hooks with the following command, after enabling your virtualenv:

pre-commit install

Then commit as usual. Git will use Black in the background to let you know when your changes break the formatting rules, and even fix it for you automatically!

Additionally, changes to Python and YAML files will be checked for correct syntax, trailing whitespace, accidentally committed merge conflict markers, ...

Building the Documentation

The Sphinx HTML Documentation can be built with the following command:

poetry run sphinx-build -b html doc html

A PDF can be created with the following commands:

poetry run sphinx-build -b latex doc latex
cd latex
make

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elf_checker-1.0.1.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elf_checker-1.0.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file elf_checker-1.0.1.tar.gz.

File metadata

  • Download URL: elf_checker-1.0.1.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.9-arch1-2

File hashes

Hashes for elf_checker-1.0.1.tar.gz
Algorithm Hash digest
SHA256 336c934e424e719e97965a9dd67a8dfc10436a4d7d2c0c2718aa0cf506da79b3
MD5 8ccf972e98e9e412b344e4122f642998
BLAKE2b-256 db734a91c07fa752c1ab8183b3584c8a35750bdd2c176518c14dc2de76eea795

See more details on using hashes here.

File details

Details for the file elf_checker-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: elf_checker-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.5 Linux/6.10.9-arch1-2

File hashes

Hashes for elf_checker-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d78b7e0c8d3f1596183b991fd789913ed137e55354803f389278ba2ffdbc13
MD5 a9c186db3153cf2bef4da8b0b980a1c2
BLAKE2b-256 5b982c556bd5ff81d0f79796bfaad1b2d303773bafaae0db81daa17de8b49d45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page