gitmyhub

Freeloader

C++ ★ 64 updated 6d ago

Plex Unlocker

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.