This is a list of resources related to LD_PRELOAD, a mechanism for changing
application behavior at run-time. Libraries can override specified functions
with another, for example, making time(3)
always return 0. This is often
useful for testing or modifying application behavior without source code
changes.
To use, set the environment variable
LD_PRELOAD=/full/path/to/your_shared_lib.so
before launching your
application.
LD_PRELOAD works on Linux systems and some BSDs. macOS implements similar functionality via DYLD_INSERT_LIBRARIES.
- angrymlocker - library for keeping corresponding process in memory
- arg-inject - add support for config files
- cleancache - drop files content from page cache after closing, useful for backups
- flockit - add file locking to programs that don't do it
- fluxcapacitor - a tool for making your program run without blocking on timeouts, on functions like poll and select
- fsatrace - filesystem access tracer
- ktlswrapper - enables TLS support for existing applications without code change
- ld-preload-open - map files or directories to another location
- libeatmydata - disable all forms of writing data safely to disk. fsync() becomes a no-op, O_SYNC is removed, etc.
- libfaketime - libfaketime modifies the system time for a single application
- libinput-force-middle-click-emulation - force libinput to emulate a middle click when pressing left and right buttons simultaneously
- libkeepalive - enable TCP keepalive socket options
- libleakmydata - disable SSL certificate verification
- libnoxattr - disable all forms of extended attribute access
- openssl-hook - log data to/from SSL_write/SSL_read to disk
- otherport - redirect connections to other ports
- stderred - colorize all stderr output that goes to terminal thus making it distinguishable from stdout
- timeskew - override time reporting in Linux processes (accelerate/slowdown games, test code involving timers/delays)
- unrandom - make
srand()
always use the seed 0
- LD_PRELOAD is super fun. And easy! (Julia Evans)
- LD_PRELOAD: The Hero We Need and Deserve (Jessie Frazelle)
Copyright (C) 2020 Google LLC
Licensed under the Creative Commons Attribution License, Version 4.0