Replace patchelf crack with Freeloader LD_PRELOAD approach

- Multi-stage Dockerfile: discover patterns from PMS binary (capstone),
  compile .so with zig (musl), layer onto lscr.io/linuxserver/plex
- Uses LD_PRELOAD instead of patchelf (which corrupts Plex's musl loader)
- Auto-discovery: broad structural patterns with string-anchored fallback
  (//feature) and relationship-based fallback (BITSET_REF within BS_INIT)
- hook.cpp uses __has_include for generated patterns with hardcoded fallbacks
- Custom wrapper.sh (no traffic_logger preload)
- Vendored Freeloader source (github.com/authrequest/Freeloader, AGPL-3.0)
- Removed stale plexmediaserver_crack.so binary
- Supports Plex 1.43.3+ (verified against 1.43.2 and 1.43.3)
This commit is contained in:
benjamin committed 2026-08-19 22:33:42 +02:00
1 parent 4399a8288d
commit 72f4661bdc
72 files changed
+77927 -17

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
# Zydis (vendored)
Single-file amalgamation of the [Zydis](https://github.com/zyantific/zydis)
x86/x86-64 disassembler. The hook engine uses it to decode and copy
instruction-aligned bytes when installing a trampoline (so a relocated prologue
stays valid).
- **Upstream:** https://github.com/zyantific/zydis
- **License:** MIT (see the header in `Zydis.h` and upstream `LICENSE`)
`Zydis.c` / `Zydis.h` are generated amalgamations — regenerate from upstream
instead of hand-editing them here.
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff