{"id":13517652,"url":"https://github.com/gaul/awesome-ld-preload","last_synced_at":"2025-10-19T17:26:16.262Z","repository":{"id":144977854,"uuid":"236289767","full_name":"gaul/awesome-ld-preload","owner":"gaul","description":"List of resources related to LD_PRELOAD, a mechanism for changing application behavior at run-time","archived":false,"fork":false,"pushed_at":"2024-04-23T13:22:18.000Z","size":11,"stargazers_count":902,"open_issues_count":13,"forks_count":45,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-10-10T18:05:56.895Z","etag":null,"topics":["ld-preload"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gaul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-26T09:13:28.000Z","updated_at":"2025-09-23T13:23:30.000Z","dependencies_parsed_at":"2024-01-06T10:40:22.971Z","dependency_job_id":"76e9ce0e-396a-4d6a-bde9-27210cab3cf7","html_url":"https://github.com/gaul/awesome-ld-preload","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gaul/awesome-ld-preload","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaul%2Fawesome-ld-preload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaul%2Fawesome-ld-preload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaul%2Fawesome-ld-preload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaul%2Fawesome-ld-preload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gaul","download_url":"https://codeload.github.com/gaul/awesome-ld-preload/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gaul%2Fawesome-ld-preload/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279860728,"owners_count":26236533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-19T02:00:07.647Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ld-preload"],"created_at":"2024-08-01T05:01:35.976Z","updated_at":"2025-10-19T17:26:16.214Z","avatar_url":"https://github.com/gaul.png","language":null,"funding_links":[],"categories":["Other Awesome Projects","Technical","Others","Other Lists"],"sub_categories":["awesome-*","TeX Lists"],"readme":"# Awesome LD\\_PRELOAD\n\nThis is a list of resources related to LD\\_PRELOAD, a mechanism for changing\napplication behavior at run-time.  Libraries can override specified functions\nwith another, for example, making `time(3)` always return 0.  This is often\nuseful for testing or modifying application behavior without source code\nchanges.\n\nTo use, set the environment variable\n`LD_PRELOAD=/full/path/to/your_shared_lib.so` before launching your\napplication.\n\nLD\\_PRELOAD works on Linux systems and some BSDs.  macOS implements similar\nfunctionality via DYLD\\_INSERT\\_LIBRARIES.\n\n## Libraries\n\n* [angrymlocker](https://github.com/stiletto/angrymlocker) - library for keeping corresponding process in memory\n* [arg-inject](https://github.com/jktr/arg-inject) - add support for config files\n* [cleancache](https://github.com/kahing/bin/blob/master/cleancache.c) - drop files content from page cache after closing, useful for backups\n* [flockit](https://github.com/smerritt/flockit) - add file locking to programs that don't do it\n* [fluxcapacitor](https://github.com/majek/fluxcapacitor) - a tool for making your program run without blocking on timeouts, on functions like poll and select\n* [force-urandom](https://github.com/AGWA/force-urandom) - force programs to use fast and secure /dev/urandom instead of pointlessly slow /dev/random\n* [fsatrace](https://github.com/jacereda/fsatrace) - filesystem access tracer\n* [gamemode](https://github.com/FeralInteractive/gamemode) - enables optimizations for gaming that are automatically unset on process exit\n* [ktlswrapper](https://github.com/zliuva/ktlswrapper) - enables TLS support for existing applications without code change\n* [ld-preload-open](https://github.com/fritzw/ld-preload-open) - map files or directories to another location\n* [libeatmydata](https://github.com/stewartsmith/libeatmydata) - disable all forms of writing data safely to disk. fsync() becomes a no-op, O\\_SYNC is removed, etc.\n* [libfaketime](https://github.com/wolfcw/libfaketime) - modifies the system time for a single application\n* [libhugetlbfs](https://github.com/libhugetlbfs/libhugetlbfs) - remap segments onto huge pages for a performance boost\n* [libinput-force-middle-click-emulation](https://github.com/gaul/libinput-force-middle-click-emulation) - force libinput to emulate a middle click when pressing left and right buttons simultaneously\n* [libkeepalive](https://github.com/msantos/libkeepalive) - enable TCP keepalive socket options\n* [libleakmydata](https://github.com/DavidBuchanan314/libleakmydata) - disable SSL certificate verification\n* [libnoxattr](https://github.com/gaul/libnoxattr) - disable all forms of extended attribute access\n* [lkl](https://github.com/lkl/linux#lkl-hijack-library) - use modern Linux kernel on old Centos5/6 (2.6 kernel) machines.\n* [openssl-hook](https://github.com/sebcat/openssl-hook) - log data to/from SSL\\_write/SSL\\_read to disk\n* [otherport](https://github.com/FiloSottile/otherport) - redirect connections to other ports\n* [preeny](https://github.com/zardus/preeny) - redirect `stdin` and `stdout` to sockets; neuter `sleep`, report constant `time`, amongst others\n* [srv-shim](https://github.com/disasters/srv-shim) - drop-in DNS SRV record support for applications relying on getaddrinfo/connect/sendto\n* [stderred](https://github.com/sickill/stderred) - colorize all stderr output that goes to terminal thus making it distinguishable from stdout\n* [timeskew](https://github.com/vi/timeskew) - override time reporting in Linux processes (accelerate/slowdown games, test code involving timers/delays)\n* [trickle](https://github.com/mariusae/trickle) - a userland bandwidth shaper\n* [unrandom](https://github.com/whitequark/unrandom) - make `srand()` always use the seed 0\n\n## Meta\n\n* [GitHub ld-preload tag](https://github.com/topics/ld-preload)\n* [StackOverflow ld-preload tag](https://stackoverflow.com/questions/tagged/ld-preload)\n\n## Links\n\n* [LD\\_PRELOAD is super fun. And easy!](https://jvns.ca/blog/2014/11/27/ld-preload-is-super-fun-and-easy/) (Julia Evans)\n* [LD\\_PRELOAD: The Hero We Need and Deserve](https://blog.jessfraz.com/post/ld_preload/) (Jessie Frazelle)\n\n## License\n\nCopyright (C) 2020 Google LLC\n\nLicensed under the Creative Commons Attribution License, Version 4.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaul%2Fawesome-ld-preload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgaul%2Fawesome-ld-preload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgaul%2Fawesome-ld-preload/lists"}