whatisgithub

What is freeloader?

authrequest/freeloader — explained in plain English

Analysis updated 2026-05-18

30C++Audience · developerComplexity · 5/5Setup · hard

In one sentence

A reverse-engineering project documenting and patching how Plex Media Server on Linux gates features behind a Plex Pass subscription.

Mindmap

mindmap
  root((freeloader))
    What it does
      Reverse engineers Plex
      Patches feature flags
      Runtime memory patch
    Tech stack
      C++
      musl libc
      LD_PRELOAD
    Use cases
      Study feature flag table
      Learn function hooking
      Verify feature state
    Audience
      Reverse engineers
      Security researchers
    Notes
      Educational use
      Support developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how Plex Media Server stores its feature flags in memory as a table of bit toggles.

USE CASE 2

See a worked example of hooking a function inside a running Linux binary at load time.

USE CASE 3

Learn why patching a musl libc binary requires LD_PRELOAD instead of direct binary editing.

USE CASE 4

Verify the live feature state of a running Plex instance with the included helper script.

What is it built with?

C++musl libcLD_PRELOAD

How does it compare?

authrequest/freeloadercharliecallahan/charlies_voxel_octreeadiao1973/librobotbagfix
Stars303031
LanguageC++C++C++
Setup difficultyhardmoderatehard
Complexity5/54/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires compiling against musl libc and injecting via LD_PRELOAD, intended for educational reverse-engineering on software you legally run.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain how this project hooks Plex Media Server's feature flag table using LD_PRELOAD.
Prompt 2
Why does this patch need to target musl libc instead of glibc, according to the README?
Prompt 3
Walk me through building this shared library patch from source for reverse-engineering study.
Prompt 4
Explain the legal and educational framing the README gives for this reverse-engineering project.

Frequently asked questions

What is freeloader?

A reverse-engineering project documenting and patching how Plex Media Server on Linux gates features behind a Plex Pass subscription.

What language is freeloader written in?

Mainly C++. The stack also includes C++, musl libc, LD_PRELOAD.

How hard is freeloader to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is freeloader for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.