Study how Plex Media Server stores its feature flags in memory as a table of bit toggles.
See a worked example of hooking a function inside a running Linux binary at load time.
Learn why patching a musl libc binary requires LD_PRELOAD instead of direct binary editing.
Verify the live feature state of a running Plex instance with the included helper script.
| authrequest/freeloader | charliecallahan/charlies_voxel_octree | adiao1973/librobotbagfix | |
|---|---|---|---|
| Stars | 30 | 30 | 31 |
| Language | C++ | C++ | C++ |
| Setup difficulty | hard | moderate | hard |
| Complexity | 5/5 | 4/5 | 4/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires compiling against musl libc and injecting via LD_PRELOAD, intended for educational reverse-engineering on software you legally run.
Freeloader (internally named Plex_Patch) is a reverse-engineering project targeting Plex Media Server on Linux x86-64. It documents how Plex controls which features are available to different users, and provides a runtime patch that enables all feature flags simultaneously. Plex Media Server gates certain features behind a subscription called Plex Pass. Internally, it does this using a table of 14 64-bit numbers in memory, where each bit in the table corresponds to a feature toggle. The patch is a small shared library written in C++ that locates the relevant function inside the Plex binary when the server starts, installs a hook, and then sets all 14 slots to their maximum value (all bits on) after Plex loads its normal feature configuration. This causes every feature, including the Plex Pass tier, to appear enabled in memory. The README includes two technical constraints the authors found necessary to make this work. The patch library must be compiled targeting musl libc rather than the more common glibc, because Plex bundles its own musl-based C library. It also must be injected using an environment variable called LD_PRELOAD rather than by modifying the Plex binary directly, because binary patching under the musl loader causes an immediate crash. The repository contains only the patch source code, build scripts, and a helper script that verifies the live feature state of a running Plex instance. The Plex binaries themselves are not included and are listed in the .gitignore. The README notes the project is intended for educational and reverse-engineering use on software you legally run yourself, and encourages users who rely on Plex to purchase a subscription to support the developers.
A reverse-engineering project documenting and patching how Plex Media Server on Linux gates features behind a Plex Pass subscription.
Mainly C++. The stack also includes C++, musl libc, LD_PRELOAD.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.