awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
NixOS avatar

NixOS/patchelf

0
View on GitHub↗
4,211 stars·533 forks·C·GPL-3.0·6 views

Patchelf

patchelf is a suite of administrative utilities for modifying the dynamic linker and runtime search paths within ELF executables. It functions as an ELF binary modifier and dependency manager, allowing for the editing of interpreter paths and the management of shared library dependencies.

The project provides specialized tools for updating the interpreter path to specify a different dynamic loader at runtime and an RPATH management tool for adding or removing library search paths within binary headers. It also includes capabilities for modifying the internal name identifiers of dynamic libraries and managing the needed entries of a binary to add, remove, or replace declared dependencies.

These utilities cover a broad range of binary modification tasks, including updating the dynamic section and program headers, expanding string tables, and performing in-place binary rewriting. The toolset also supports dependency pre-resolution to reduce file system searches during application startup.

Features

  • Interpreter Path Modifications - Updates the interpreter path in an executable to point to a specific dynamic linker.
  • RPATH Manipulators - Adds, removes, or changes the runtime search paths for shared libraries within binary headers.
  • Dynamic Linker Editors - Provides a utility to change the interpreter path that specifies which loader runs an executable at runtime.
  • In-Place Binary Header Rewriting - Updates specific offsets within the executable file to change metadata without altering the actual machine code.
  • ELF Binary Modifications - Changes the dynamic linker or runtime search paths of an executable to fix library loading errors.
  • ELF Binary Modifiers - Updates the dynamic linker and runtime search paths within ELF executables.
  • ELF Binary Parsing - Parses the structure of ELF executables and shared object files to locate the dynamic section.
  • ELF Dependency List Modifications - Provides capabilities to add or remove shared library identifiers from the needed entries of an ELF binary.
  • ELF Dependency Managers - Modifies the shared library dependencies and internal name identifiers of dynamic libraries.
  • RPATH Management Tools - Adds or removes library search paths within the binary headers of ELF files.
  • ELF Dynamic Section Manipulators - Modifies program headers and dynamic tags to update the interpreter path and library search paths.
  • Library Dependency Managers - Provides utilities for adding, removing, or replacing declared dependencies in the needed entries of a binary.
  • Portable Binaries - Modifies the RPATH of compiled binaries so they can run on different systems without global library installations.
  • Binary Offset Recalculations - Adjusts the addresses of internal references when the size of the dynamic section or string table changes.
  • ELF String Table Expansions - Appends new path strings to the end of the binary and updates references to accommodate longer directory paths.
  • SONAME Modifications - Updates the internal name identifier of a dynamic library to change how the linker identifies it.
  • Custom Loader Integrations - Adjusts the interpreter path in a binary to use a specific dynamic loader provided by a custom environment.

Star history

Star history chart for nixos/patchelfStar history chart for nixos/patchelf

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Patchelf

Similar open-source projects, ranked by how many features they share with Patchelf.
  • orhun/binsiderorhun avatar

    orhun/binsider

    3,938View on GitHub↗

    Binsider is a collection of specialized toolsets for hexadecimal editing, ELF structural analysis, system call tracing, and execution performance profiling. It provides a suite of utilities designed for binary reverse engineering, encompassing both static structural analysis and dynamic runtime monitoring of compiled binaries. The project distinguishes itself by combining low-level binary manipulation, such as a hex editor for raw byte modification, with an ELF binary analysis tool for inspecting file structures and metadata. It also includes a Linux system call tracer for observing dynamic b

    Rustanalysisbinarybinary-data
    View on GitHub↗3,938
  • pr0g/cmake-examplespr0g avatar

    pr0g/cmake-examples

    1,231View on GitHub↗

    This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system. The repository distinguishes itself by offering modular examples that cover complex build requirements, such as hierarchical project organization and the integration of external third-party source code. It emphasizes the use of target-based dependency graphs and interface-ba

    CMakecmakecmake-examplescmake-scripts
    View on GitHub↗1,231
  • mit-pdos/xv6-publicmit-pdos avatar

    mit-pdos/xv6-public

    9,466View on GitHub↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    C
    View on GitHub↗9,466
  • hackclub/putting-the-you-in-cpuhackclub avatar

    hackclub/putting-the-you-in-cpu

    5,499View on GitHub↗

    This project is a collection of technical documentation and guides designed as a computer architecture explainer. It provides educational resources on how processors and operating systems execute programs, focusing on the fetch-execute cycle and the fundamental relationship between hardware and the kernel. The documentation covers a wide range of low-level system operations, including detailed guides on the executable and linkable binary format, virtual memory management, and kernel-level operations. It specifically explores the mechanics of CPU scheduling, preemptive multitasking, and the us

    MDXcpuelflinux
    View on GitHub↗5,499
See all 28 alternatives to Patchelf→

Frequently asked questions

What does nixos/patchelf do?

patchelf is a suite of administrative utilities for modifying the dynamic linker and runtime search paths within ELF executables. It functions as an ELF binary modifier and dependency manager, allowing for the editing of interpreter paths and the management of shared library dependencies.

What are the main features of nixos/patchelf?

The main features of nixos/patchelf are: Interpreter Path Modifications, RPATH Manipulators, Dynamic Linker Editors, In-Place Binary Header Rewriting, ELF Binary Modifications, ELF Binary Modifiers, ELF Binary Parsing, ELF Dependency List Modifications.

What are some open-source alternatives to nixos/patchelf?

Open-source alternatives to nixos/patchelf include: orhun/binsider — Binsider is a collection of specialized toolsets for hexadecimal editing, ELF structural analysis, system call… pr0g/cmake-examples — This project provides a collection of minimal, modern configuration templates designed to demonstrate… hugsy/gef — GEF is a Python-based extension for GDB that serves as a framework for binary analysis, exploit development, and… hackclub/putting-the-you-in-cpu — This project is a collection of technical documentation and guides designed as a computer architecture explainer. It… mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… premake/premake-core — Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine…