Byte-accurate decompilation of the League of Legends v4.17 macOS client.
  • C 45%
  • C++ 36.1%
  • Ruby 9.8%
  • Objective-C 5.2%
  • SWIG 1.6%
  • Other 2.1%
Find a file
2026-05-19 00:00:00 +00:00
.claude Initial public snapshot 2026-05-19 00:00:00 +00:00
.codex/skills Initial public snapshot 2026-05-19 00:00:00 +00:00
.githooks Initial public snapshot 2026-05-19 00:00:00 +00:00
build Initial public snapshot 2026-05-19 00:00:00 +00:00
docs Initial public snapshot 2026-05-19 00:00:00 +00:00
notes Initial public snapshot 2026-05-19 00:00:00 +00:00
orig Initial public snapshot 2026-05-19 00:00:00 +00:00
src Initial public snapshot 2026-05-19 00:00:00 +00:00
tools Initial public snapshot 2026-05-19 00:00:00 +00:00
.gitattributes Initial public snapshot 2026-05-19 00:00:00 +00:00
.gitignore Initial public snapshot 2026-05-19 00:00:00 +00:00
.next-config.example.json Initial public snapshot 2026-05-19 00:00:00 +00:00
AGENTS.md Initial public snapshot 2026-05-19 00:00:00 +00:00
CLAUDE.md Initial public snapshot 2026-05-19 00:00:00 +00:00
configure.py Initial public snapshot 2026-05-19 00:00:00 +00:00
exhausted_symbols.jsonl Initial public snapshot 2026-05-19 00:00:00 +00:00
Makefile Initial public snapshot 2026-05-19 00:00:00 +00:00
README.md Initial public snapshot 2026-05-19 00:00:00 +00:00
requirements.txt Initial public snapshot 2026-05-19 00:00:00 +00:00

League of Legends Mac Client Decompilation

A byte-matching decompilation of the League of Legends Mac game client (Patch 4.17, Season 4, ~2013).

View Progress

What Is This

The goal is to produce a 1:1 byte-matching reimplementation of the original Mach-O i386 binary (~14 MB of code). Every decompiled function is verified instruction-by-instruction against the original using objdiff.

The binary ships with a full DWARF dSYM — function names, parameter types, struct layouts, source file paths, and line numbers. The project skeleton was generated directly from this debug info.

Game Version 4.17.0.244 (September 2014)
Compiler Clang 3.3 (i686-apple-darwin10)

Building

Prerequisites: Python 3, pip install -r requirements.txt

make                    # Compile all source files
make report             # Generate match report
make progress           # Report + update progress page

Contributing

Pick any unmatched function from the progress page and write C++ that compiles to a byte-perfect match. See docs/ for compiler flags, codegen tips, and tooling details.

Acknowledgments

  • objdiff by encounter — instruction-level diff tool
  • decomp.dev — inspiration for the progress treemap