A curated list of resources and libraries for LD_PRELOAD, a Linux mechanism for runtime function interception and behavior modification.
Awesome LD_PRELOAD is a curated list of resources, libraries, and tools related to LD_PRELOAD, a Linux mechanism that allows developers to intercept and override library functions at runtime. It solves problems like modifying application behavior without source changes, testing time-dependent code, and adding features like file locking or TLS support to existing binaries.
System programmers, Linux developers, and security researchers who need to debug, test, or modify application behavior at the library level without recompilation.
Developers choose Awesome LD_PRELOAD for its comprehensive collection of ready-to-use libraries and tools that demonstrate practical applications of LD_PRELOAD, saving time and providing inspiration for low-level system hacking and instrumentation.
List of resources related to LD_PRELOAD, a mechanism for changing application behavior at run-time
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Aggregates over 20 specialized libraries like libfaketime for time mocking and fsatrace for filesystem access tracing, providing a one-stop reference for various use cases.
Emphasizes real-world applications such as testing, debugging, and optimization, with tools specifically for adding TLS support via ktlswrapper or disabling disk writes with libeatmydata.
Offers straightforward instructions on using LD_PRELOAD with environment variables, making it accessible for developers familiar with Linux system programming.
Includes tools for performance enhancement (libhugetlbfs), security (force-urandom), and behavior modification, demonstrating the broad utility of LD_PRELOAD.
As a curated list, it doesn't indicate which tools are actively maintained, risking reliance on outdated or abandoned projects like some older libraries in the collection.
Many linked libraries have sparse or minimal documentation, forcing users to rely on source code or external resources for detailed implementation and troubleshooting.
Primarily targets Linux, with only a note on macOS alternatives via DYLD_INSERT_LIBRARIES; tools may not work seamlessly on other Unix-like systems without porting.