Skip to main content

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

Release files for elf-checker 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elf-checker 1.0.1
File Size Uploaded
elf_checker-1.0.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for elf-checker 1.0.1
File Interpreter ABI Platform
elf_checker-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 25.0 kB

Release files / elf_checker-1.0.1.tar.gz

Download URL elf_checker-1.0.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
336c934e424e719e97965a9dd67a8dfc10436a4d7d2c0c2718aa0cf506da79b3
BLAKE2b-256 checksum
How to use checksums
db734a91c07fa752c1ab8183b3584c8a35750bdd2c176518c14dc2de76eea795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Linux/6.10.9-arch1-2

Release files / elf_checker-1.0.1-py3-none-any.whl

Download URL elf_checker-1.0.1-py3-none-any.whl
Size 13.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e8d78b7e0c8d3f1596183b991fd789913ed137e55354803f389278ba2ffdbc13
BLAKE2b-256 checksum
How to use checksums
5b982c556bd5ff81d0f79796bfaad1b2d303773bafaae0db81daa17de8b49d45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.5 Linux/6.10.9-arch1-2

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page